TSTP Solution File: SWW478+6 by Goeland---1.0.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Goeland---1.0.0
% Problem  : SWW478+6 : TPTP v8.1.0. Released v5.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : goeland -dmt -presko -proof %s

% Computer : n025.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  : 300s
% DateTime : Thu Sep 29 19:32:20 EDT 2022

% Result   : Theorem 165.17s 79.10s
% Output   : Proof 165.17s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.12  % Problem    : SWW478+6 : TPTP v8.1.0. Released v5.3.0.
% 0.11/0.12  % Command    : goeland -dmt -presko -proof %s
% 0.12/0.34  % Computer : n025.cluster.edu
% 0.12/0.34  % Model    : x86_64 x86_64
% 0.12/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.34  % Memory   : 8042.1875MB
% 0.12/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.34  % CPULimit   : 300
% 0.12/0.34  % WCLimit    : 300
% 0.12/0.34  % DateTime   : Sun Sep  4 19:38:19 EDT 2022
% 0.12/0.34  % CPUTime    : 
% 0.12/0.35  [DMT] DMT loaded with preskolemization
% 0.12/0.35  [EQ] equality loaded.
% 0.12/0.35  [0.000068s][1][MAIN] Problem : theBenchmark.p
% 24.77/14.15  Start search
% 28.01/15.13  nb_step : 1 - limit : 635
% 28.31/15.18  Launch Gotab with destructive = true
% 155.91/76.54  % SZS output start Proof for theBenchmark.p
% 165.17/79.08  [0] ALPHA_AND : (=(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))))), eval), eval) & ! [X_a200_200] :  (=(ti(fun(exp(X_a200_200), bool), final(X_a200_200)), final(X_a200_200))) & ! [X_b201_201, X_c202_202, X_a203_203] :  (=(ti(fun(fun(X_b201_201, X_c202_202), fun(fun(X_a203_203, X_b201_201), fun(X_a203_203, X_c202_202))), combb(X_b201_201, X_c202_202, X_a203_203)), combb(X_b201_201, X_c202_202, X_a203_203))) & ! [X_a204_204, X_b205_205, X_c206_206] :  (=(ti(fun(fun(X_a204_204, fun(X_b205_205, X_c206_206)), fun(X_b205_205, fun(X_a204_204, X_c206_206))), combc(X_a204_204, X_b205_205, X_c206_206)), combc(X_a204_204, X_b205_205, X_c206_206))) & ! [X_a207_207, X_b208_208] :  (=(ti(fun(X_a207_207, fun(X_b208_208, X_a207_207)), combk(X_a207_207, X_b208_208)), combk(X_a207_207, X_b208_208))) & ! [X_a209_209, X_b210_210, X_c211_211] :  (=(ti(fun(fun(X_a209_209, fun(X_b210_210, X_c211_211)), fun(fun(X_a209_209, X_b210_210), fun(X_a209_209, X_c211_211))), combs(X_a209_209, X_b210_210, X_c211_211)), combs(X_a209_209, X_b210_210, X_c211_211))) & ! [X_a212_212] :  (=(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, X_a212_212)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool)))), conf(X_a212_212)), conf(X_a212_212))) & ! [X_a213_213] :  (=(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, X_a213_213)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool)), hconf(X_a213_213)), hconf(X_a213_213))) & ! [X_a214_214] :  (=(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, X_a214_214)))))))), 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(X_a214_214)), lconf(X_a214_214))) & ! [X_a215_215] :  (=(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, X_a215_215)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool))), oconf(X_a215_215)), oconf(X_a215_215))) & =(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), bool)), is_class(product_prod(list(list(char)), exp(list(char))))), is_class(product_prod(list(list(char)), exp(list(char))))) & ! [X_a216_216] :  (=(ti(fun(exp(X_a216_216), fun(option(fun(X_a216_216, bool)), bool)), d(X_a216_216)), d(X_a216_216))) & =(ti(list(char), classCast), classCast) & =(ti(list(char), nullPointer), nullPointer) & =(ti(fun(list(char), nat), addr_of_sys_xcpt), addr_of_sys_xcpt) & =(ti(fun(product_prod(bop, product_prod(val, val)), option(val)), binop), binop) & =(ti(bop, add), add) & =(ti(bop, c_Expr_Obop_OEq), c_Expr_Obop_OEq) & ! [X_a217_217] :  (=(ti(fun(exp(X_a217_217), fun(bop, fun(exp(X_a217_217), exp(X_a217_217)))), binOp(X_a217_217)), binOp(X_a217_217))) & ! [X_a218_218] :  (=(ti(fun(X_a218_218, fun(ty, fun(exp(X_a218_218), exp(X_a218_218)))), block(X_a218_218)), block(X_a218_218))) & ! [X_a219_219] :  (=(ti(fun(list(char), fun(exp(X_a219_219), exp(X_a219_219))), cast(X_a219_219)), cast(X_a219_219))) & ! [X_a220_220] :  (=(ti(fun(exp(X_a220_220), fun(list(char), fun(list(char), exp(X_a220_220)))), fAcc(X_a220_220)), fAcc(X_a220_220))) & ! [X_a221_221] :  (=(ti(fun(exp(X_a221_221), fun(list(char), fun(list(char), fun(exp(X_a221_221), exp(X_a221_221))))), fAss(X_a221_221)), fAss(X_a221_221))) & ! [X_a222_222] :  (=(ti(fun(X_a222_222, fun(exp(X_a222_222), exp(X_a222_222))), lAss(X_a222_222)), lAss(X_a222_222))) & ! [X_a223_223] :  (=(ti(fun(exp(X_a223_223), fun(exp(X_a223_223), exp(X_a223_223))), seq(X_a223_223)), seq(X_a223_223))) & ! [X_a224_224] :  (=(ti(fun(exp(X_a224_224), fun(list(char), fun(X_a224_224, fun(exp(X_a224_224), exp(X_a224_224))))), tryCatch(X_a224_224)), tryCatch(X_a224_224))) & ! [X_a225_225] :  (=(ti(fun(val, exp(X_a225_225)), val_1(X_a225_225)), val_1(X_a225_225))) & ! [X_a226_226] :  (=(ti(fun(exp(X_a226_226), fun(exp(X_a226_226), exp(X_a226_226))), while(X_a226_226)), while(X_a226_226))) & ! [X_a227_227] :  (=(ti(fun(exp(X_a227_227), exp(X_a227_227)), throw(X_a227_227)), throw(X_a227_227))) & ! [X_a228_228, X_b229_229] :  (=(ti(fun(fun(X_a228_228, X_b229_229), fun(X_a228_228, fun(X_b229_229, fun(X_a228_228, X_b229_229)))), fun_upd(X_a228_228, X_b229_229)), fun_upd(X_a228_228, X_b229_229))) & ! [X_a230_230] :  (=(ti(X_a230_230, undefined(X_a230_230)), undefined(X_a230_230))) & =(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) & ! [X_a231_231, X_b232_232] :  (=(ti(fun(fun(X_a231_231, option(X_b232_232)), fun(X_a231_231, bool)), dom(X_a231_231, X_b232_232)), dom(X_a231_231, X_b232_232))) & ! [X_a233_233, X_b234_234] :  (=(ti(fun(fun(X_a233_233, option(X_b234_234)), fun(fun(X_a233_233, option(X_b234_234)), fun(X_a233_233, option(X_b234_234)))), map_add(X_a233_233, X_b234_234)), map_add(X_a233_233, X_b234_234))) & =(ti(fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool)), hext), hext) & ! [X_a235_235] :  (=(ti(option(X_a235_235), none(X_a235_235)), none(X_a235_235))) & ! [X_a236_236] :  (=(ti(fun(X_a236_236, option(X_a236_236)), some(X_a236_236)), some(X_a236_236))) & ! [X_a237_237] :  (=(ti(fun(option(X_a237_237), X_a237_237), the(X_a237_237)), the(X_a237_237))) & ! [X_e238_238, X_f239_239] :  (=(ti(fun(X_e238_238, fun(X_f239_239, product_prod(X_e238_238, X_f239_239))), product_Pair(X_e238_238, X_f239_239)), product_Pair(X_e238_238, X_f239_239))) & ! [X_a240_240, X_b241_241, X_c242_242] :  (=(ti(fun(fun(product_prod(X_a240_240, X_b241_241), X_c242_242), fun(X_a240_240, fun(X_b241_241, X_c242_242))), product_curry(X_a240_240, X_b241_241, X_c242_242)), product_curry(X_a240_240, X_b241_241, X_c242_242))) & ! [X_b243_243, X_c244_244, X_a245_245] :  (=(ti(fun(fun(X_b243_243, fun(X_c244_244, X_a245_245)), fun(product_prod(X_b243_243, X_c244_244), X_a245_245)), produc1605651328_split(X_b243_243, X_c244_244, X_a245_245)), produc1605651328_split(X_b243_243, X_c244_244, X_a245_245))) & ! [X_a246_246, X_b247_247, X_c248_248] :  (=(ti(fun(fun(X_a246_246, fun(X_b247_247, X_c248_248)), fun(product_prod(X_a246_246, X_b247_247), X_c248_248)), product_prod_case(X_a246_246, X_b247_247, X_c248_248)), product_prod_case(X_a246_246, X_b247_247, X_c248_248))) & ! [X_b249_249, X_c250_250, X_a251_251] :  (=(ti(fun(fun(X_b249_249, fun(X_c250_250, X_a251_251)), fun(product_prod(X_b249_249, X_c250_250), X_a251_251)), product_prod_rec(X_b249_249, X_c250_250, X_a251_251)), product_prod_rec(X_b249_249, X_c250_250, X_a251_251))) & ! [X_a252_252] :  (=(ti(fun(fun(X_a252_252, bool), fun(X_a252_252, bool)), collect(X_a252_252)), collect(X_a252_252))) & =(ti(fun(list(char), fun(exp(list(char)), bool)), assigned), assigned) & =(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) & =(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) & =(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) & ! [X_a253_253] :  (=(ti(fun(fun(product_prod(X_a253_253, X_a253_253), bool), fun(product_prod(X_a253_253, X_a253_253), bool)), transitive_rtrancl(X_a253_253)), transitive_rtrancl(X_a253_253))) & ! [X_a254_254] :  (=(ti(fun(fun(X_a254_254, fun(X_a254_254, bool)), fun(X_a254_254, fun(X_a254_254, bool))), transitive_rtranclp(X_a254_254)), transitive_rtranclp(X_a254_254))) & ! [X_a255_255] :  (=(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, X_a255_255)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool))))), has_field(X_a255_255)), has_field(X_a255_255))) & ! [X_a256_256] :  (=(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, X_a256_256)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool))))), sees_field(X_a256_256)), sees_field(X_a256_256))) & ! [X_a257_257] :  (=(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, X_a257_257)))))))), fun(product_prod(list(char), list(char)), bool)), subcls1(X_a257_257)), subcls1(X_a257_257))) & ! [X_a258_258] :  (=(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, X_a258_258)))))))), fun(list(char), fun(list(char), bool))), subcls1p(X_a258_258)), subcls1p(X_a258_258))) & ! [X_m259_259] :  (=(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, X_m259_259)))))))), fun(ty, fun(ty, bool))), widen(X_m259_259)), widen(X_m259_259))) & =(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))), typeSa1687304666_sconf), typeSa1687304666_sconf) & =(ti(fun(ty, bool), is_refT), is_refT) & =(ti(fun(list(char), ty), class), class) & =(ti(ty, nt), nt) & =(ti(ty, void), void) & =(ti(fun(nat, val), addr), addr) & =(ti(fun(bool, val), bool_1), bool_1) & =(ti(val, null), null) & =(ti(val, unit), unit) & =(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))), wwf_J_mdecl), wwf_J_mdecl) & =(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))))) & =(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) & =(ti(bool, fFalse), fFalse) & =(ti(fun(bool, bool), fNot), fNot) & =(ti(bool, fTrue), fTrue) & =(ti(fun(bool, fun(bool, bool)), fconj), fconj) & ! [X_a260_260] :  (=(ti(fun(X_a260_260, fun(X_a260_260, bool)), fequal(X_a260_260)), fequal(X_a260_260))) & ! [X_a261_261, X_c262_262, B_1_1263_263, B_2_1264_264] :  (=(hAPP(X_a261_261, X_c262_262, ti(fun(X_a261_261, X_c262_262), B_1_1263_263), B_2_1264_264), hAPP(X_a261_261, X_c262_262, B_1_1263_263, B_2_1264_264))) & ! [X_a265_265, X_c266_266, B_1_1267_267, B_2_1268_268] :  (=(hAPP(X_a265_265, X_c266_266, B_1_1267_267, ti(X_a265_265, B_2_1268_268)), hAPP(X_a265_265, X_c266_266, B_1_1267_267, B_2_1268_268))) & ! [X_c269_269, X_a270_270, B_1_1271_271, B_2_1272_272] :  (=(ti(X_c269_269, hAPP(X_a270_270, X_c269_269, B_1_1271_271, B_2_1272_272)), hAPP(X_a270_270, X_c269_269, B_1_1271_271, B_2_1272_272))) & ! [B_1_1273_273] :  ((hBOOL(ti(bool, B_1_1273_273)) <=> hBOOL(B_1_1273_273))) & ! [X_a274_274] :  (=(ti(fun(X_a274_274, fun(fun(X_a274_274, bool), bool)), member(X_a274_274)), member(X_a274_274))) & =(ti(fun(list(char), option(ty)), e), e) & =(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) & =(ti(ty, t), t) & =(ti(ty, t_1), t_1) & =(ti(list(char), v_1), v_1) & =(ti(exp(list(char)), e_a), e_a) & =(ti(exp(list(char)), ea), ea) & =(ti(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), h_a), h_a) & =(ti(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), ha), ha) & =(ti(fun(list(char), option(val)), l_a), l_a) & =(ti(fun(list(char), option(val)), la), la) & =(ti(val, v_2), v_2) & =(ti(val, v), v) & =(hAPP(list(char), option(val), l_a, v_1), hAPP(val, option(val), some(val), v_2)) & 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))) & ! [X_b275_275, X_a276_276, F_2277_277, X_2278_278] :  (=(hAPP(X_b275_275, fun(X_a276_276, X_b275_275), hAPP(X_a276_276, fun(X_b275_275, fun(X_a276_276, X_b275_275)), hAPP(fun(X_a276_276, X_b275_275), fun(X_a276_276, fun(X_b275_275, fun(X_a276_276, X_b275_275))), fun_upd(X_a276_276, X_b275_275), F_2277_277), X_2278_278), hAPP(X_a276_276, X_b275_275, F_2277_277, X_2278_278)), ti(fun(X_a276_276, X_b275_275), F_2277_277))) & 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)) & ! [X_b279_279, X_a280_280, M281_281, A_4282_282, B283_283, X_2284_284, Y_1285_285] :  ((=(hAPP(X_b279_279, option(X_a280_280), hAPP(option(X_a280_280), fun(X_b279_279, option(X_a280_280)), hAPP(X_b279_279, fun(option(X_a280_280), fun(X_b279_279, option(X_a280_280))), hAPP(fun(X_b279_279, option(X_a280_280)), fun(X_b279_279, fun(option(X_a280_280), fun(X_b279_279, option(X_a280_280)))), fun_upd(X_b279_279, option(X_a280_280)), M281_281), A_4282_282), hAPP(X_a280_280, option(X_a280_280), some(X_a280_280), B283_283)), X_2284_284), hAPP(X_a280_280, option(X_a280_280), some(X_a280_280), Y_1285_285)) <=> ((=(ti(X_b279_279, X_2284_284), ti(X_b279_279, A_4282_282)) & =(ti(X_a280_280, B283_283), ti(X_a280_280, Y_1285_285))) | (~=(ti(X_b279_279, X_2284_284), ti(X_b279_279, A_4282_282)) & =(hAPP(X_b279_279, option(X_a280_280), M281_281, X_2284_284), hAPP(X_a280_280, option(X_a280_280), some(X_a280_280), Y_1285_285)))))) & ! [X_b286_286, X_a287_287, T_5288_288, K289_289, X_2290_290] :  ((=(hAPP(X_b286_286, option(X_a287_287), T_5288_288, K289_289), hAPP(X_a287_287, option(X_a287_287), some(X_a287_287), X_2290_290)) => =(hAPP(option(X_a287_287), fun(X_b286_286, option(X_a287_287)), hAPP(X_b286_286, fun(option(X_a287_287), fun(X_b286_286, option(X_a287_287))), hAPP(fun(X_b286_286, option(X_a287_287)), fun(X_b286_286, fun(option(X_a287_287), fun(X_b286_286, option(X_a287_287)))), fun_upd(X_b286_286, option(X_a287_287)), T_5288_288), K289_289), hAPP(X_a287_287, option(X_a287_287), some(X_a287_287), X_2290_290)), ti(fun(X_b286_286, option(X_a287_287)), T_5288_288)))) & ! [X_b291_291, X_a292_292, M293_293, A_4294_294, X_2295_295, N296_296, Y_1297_297] :  ((=(hAPP(option(X_b291_291), fun(X_a292_292, option(X_b291_291)), hAPP(X_a292_292, fun(option(X_b291_291), fun(X_a292_292, option(X_b291_291))), hAPP(fun(X_a292_292, option(X_b291_291)), fun(X_a292_292, fun(option(X_b291_291), fun(X_a292_292, option(X_b291_291)))), fun_upd(X_a292_292, option(X_b291_291)), M293_293), A_4294_294), hAPP(X_b291_291, option(X_b291_291), some(X_b291_291), X_2295_295)), hAPP(option(X_b291_291), fun(X_a292_292, option(X_b291_291)), hAPP(X_a292_292, fun(option(X_b291_291), fun(X_a292_292, option(X_b291_291))), hAPP(fun(X_a292_292, option(X_b291_291)), fun(X_a292_292, fun(option(X_b291_291), fun(X_a292_292, option(X_b291_291)))), fun_upd(X_a292_292, option(X_b291_291)), N296_296), A_4294_294), hAPP(X_b291_291, option(X_b291_291), some(X_b291_291), Y_1297_297))) => =(ti(X_b291_291, X_2295_295), ti(X_b291_291, Y_1297_297)))) & ! [Ta298_298, Ea299_299] :  ((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)), typeSa1687304666_sconf, p), Ea299_299), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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), Ea299_299), ea), Ta298_298)) => ? [T_4300_300] :  ((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), Ea299_299), e_a), T_4300_300)) & 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), T_4300_300), Ta298_298))))))) & ! [X_a301_301, X_b302_302, X_c303_303, X_d304_304, X_e305_305, X_f306_306, X_2307_307, Pa308_308] :  ((! [A_3309_309, B_1310_310, C_6311_311, D_5312_312, E313_313, F_3314_314] :  (hBOOL(hAPP(product_prod(X_a301_301, product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))))), bool, Pa308_308, hAPP(product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))), product_prod(X_a301_301, product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))))), hAPP(X_a301_301, fun(product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))), product_prod(X_a301_301, product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))))), product_Pair(X_a301_301, product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))))), A_3309_309), hAPP(product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))), product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))), hAPP(X_b302_302, fun(product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))), product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))))), product_Pair(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))), B_1310_310), hAPP(product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)), product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))), hAPP(X_c303_303, fun(product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)), product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))), product_Pair(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))), C_6311_311), hAPP(product_prod(X_e305_305, X_f306_306), product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)), hAPP(X_d304_304, fun(product_prod(X_e305_305, X_f306_306), product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))), product_Pair(X_d304_304, product_prod(X_e305_305, X_f306_306)), D_5312_312), hAPP(X_f306_306, product_prod(X_e305_305, X_f306_306), hAPP(X_e305_305, fun(X_f306_306, product_prod(X_e305_305, X_f306_306)), product_Pair(X_e305_305, X_f306_306), E313_313), F_3314_314)))))))) => hBOOL(hAPP(product_prod(X_a301_301, product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))))), bool, Pa308_308, X_2307_307)))) & ! [X_a315_315, X_b316_316, X_c317_317, X_d318_318, X_e319_319, X_f320_320, Y321_321] :  (~! [A_3322_322, B_1323_323, C_6324_324, D_5325_325, E326_326, F_3327_327] :  (~=(ti(product_prod(X_a315_315, product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))))), Y321_321), hAPP(product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))), product_prod(X_a315_315, product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))))), hAPP(X_a315_315, fun(product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))), product_prod(X_a315_315, product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))))), product_Pair(X_a315_315, product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))))), A_3322_322), hAPP(product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))), product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))), hAPP(X_b316_316, fun(product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))), product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))))), product_Pair(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))), B_1323_323), hAPP(product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)), product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))), hAPP(X_c317_317, fun(product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)), product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))), product_Pair(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))), C_6324_324), hAPP(product_prod(X_e319_319, X_f320_320), product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)), hAPP(X_d318_318, fun(product_prod(X_e319_319, X_f320_320), product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))), product_Pair(X_d318_318, product_prod(X_e319_319, X_f320_320)), D_5325_325), hAPP(X_f320_320, product_prod(X_e319_319, X_f320_320), hAPP(X_e319_319, fun(X_f320_320, product_prod(X_e319_319, X_f320_320)), product_Pair(X_e319_319, X_f320_320), E326_326), F_3327_327)))))))) & ! [X_a328_328, X_b329_329, X_c330_330, X_d331_331, X_e332_332, X_2333_333, Pa334_334] :  ((! [A_3335_335, B_1336_336, C_6337_337, D_5338_338, E339_339] :  (hBOOL(hAPP(product_prod(X_a328_328, product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)))), bool, Pa334_334, hAPP(product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))), product_prod(X_a328_328, product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)))), hAPP(X_a328_328, fun(product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))), product_prod(X_a328_328, product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))))), product_Pair(X_a328_328, product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)))), A_3335_335), hAPP(product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)), product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))), hAPP(X_b329_329, fun(product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)), product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)))), product_Pair(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))), B_1336_336), hAPP(product_prod(X_d331_331, X_e332_332), product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)), hAPP(X_c330_330, fun(product_prod(X_d331_331, X_e332_332), product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))), product_Pair(X_c330_330, product_prod(X_d331_331, X_e332_332)), C_6337_337), hAPP(X_e332_332, product_prod(X_d331_331, X_e332_332), hAPP(X_d331_331, fun(X_e332_332, product_prod(X_d331_331, X_e332_332)), product_Pair(X_d331_331, X_e332_332), D_5338_338), E339_339))))))) => hBOOL(hAPP(product_prod(X_a328_328, product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)))), bool, Pa334_334, X_2333_333)))) & ! [X_a340_340, X_b341_341, X_c342_342, X_d343_343, X_e344_344, Y345_345] :  (~! [A_3346_346, B_1347_347, C_6348_348, D_5349_349, E350_350] :  (~=(ti(product_prod(X_a340_340, product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)))), Y345_345), hAPP(product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))), product_prod(X_a340_340, product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)))), hAPP(X_a340_340, fun(product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))), product_prod(X_a340_340, product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))))), product_Pair(X_a340_340, product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)))), A_3346_346), hAPP(product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)), product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))), hAPP(X_b341_341, fun(product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)), product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)))), product_Pair(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))), B_1347_347), hAPP(product_prod(X_d343_343, X_e344_344), product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)), hAPP(X_c342_342, fun(product_prod(X_d343_343, X_e344_344), product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))), product_Pair(X_c342_342, product_prod(X_d343_343, X_e344_344)), C_6348_348), hAPP(X_e344_344, product_prod(X_d343_343, X_e344_344), hAPP(X_d343_343, fun(X_e344_344, product_prod(X_d343_343, X_e344_344)), product_Pair(X_d343_343, X_e344_344), D_5349_349), E350_350))))))) & ! [X_a351_351, X_b352_352, X_c353_353, X_d354_354, X_2355_355, Pa356_356] :  ((! [A_3357_357, B_1358_358, C_6359_359, D_5360_360] :  (hBOOL(hAPP(product_prod(X_a351_351, product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354))), bool, Pa356_356, hAPP(product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354)), product_prod(X_a351_351, product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354))), hAPP(X_a351_351, fun(product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354)), product_prod(X_a351_351, product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354)))), product_Pair(X_a351_351, product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354))), A_3357_357), hAPP(product_prod(X_c353_353, X_d354_354), product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354)), hAPP(X_b352_352, fun(product_prod(X_c353_353, X_d354_354), product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354))), product_Pair(X_b352_352, product_prod(X_c353_353, X_d354_354)), B_1358_358), hAPP(X_d354_354, product_prod(X_c353_353, X_d354_354), hAPP(X_c353_353, fun(X_d354_354, product_prod(X_c353_353, X_d354_354)), product_Pair(X_c353_353, X_d354_354), C_6359_359), D_5360_360)))))) => hBOOL(hAPP(product_prod(X_a351_351, product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354))), bool, Pa356_356, X_2355_355)))) & ! [X_a361_361, X_b362_362, X_c363_363, X_d364_364, Y365_365] :  (~! [A_3366_366, B_1367_367, C_6368_368, D_5369_369] :  (~=(ti(product_prod(X_a361_361, product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364))), Y365_365), hAPP(product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364)), product_prod(X_a361_361, product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364))), hAPP(X_a361_361, fun(product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364)), product_prod(X_a361_361, product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364)))), product_Pair(X_a361_361, product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364))), A_3366_366), hAPP(product_prod(X_c363_363, X_d364_364), product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364)), hAPP(X_b362_362, fun(product_prod(X_c363_363, X_d364_364), product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364))), product_Pair(X_b362_362, product_prod(X_c363_363, X_d364_364)), B_1367_367), hAPP(X_d364_364, product_prod(X_c363_363, X_d364_364), hAPP(X_c363_363, fun(X_d364_364, product_prod(X_c363_363, X_d364_364)), product_Pair(X_c363_363, X_d364_364), C_6368_368), D_5369_369)))))) & 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)), typeSa1687304666_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))) & ! [X_b370_370, X_a371_371, A_2372_372, B_4373_373, A_1374_374, B_3375_375] :  ((=(hAPP(X_b370_370, product_prod(X_a371_371, X_b370_370), hAPP(X_a371_371, fun(X_b370_370, product_prod(X_a371_371, X_b370_370)), product_Pair(X_a371_371, X_b370_370), A_2372_372), B_4373_373), hAPP(X_b370_370, product_prod(X_a371_371, X_b370_370), hAPP(X_a371_371, fun(X_b370_370, product_prod(X_a371_371, X_b370_370)), product_Pair(X_a371_371, X_b370_370), A_1374_374), B_3375_375)) => ~(=(ti(X_a371_371, A_2372_372), ti(X_a371_371, A_1374_374)) => ~=(ti(X_b370_370, B_4373_373), ti(X_b370_370, B_3375_375))))) & ! [X_b376_376, X_a377_377, A_4378_378, B379_379, A_6380_380, B_2381_381] :  ((=(hAPP(X_b376_376, product_prod(X_a377_377, X_b376_376), hAPP(X_a377_377, fun(X_b376_376, product_prod(X_a377_377, X_b376_376)), product_Pair(X_a377_377, X_b376_376), A_4378_378), B379_379), hAPP(X_b376_376, product_prod(X_a377_377, X_b376_376), hAPP(X_a377_377, fun(X_b376_376, product_prod(X_a377_377, X_b376_376)), product_Pair(X_a377_377, X_b376_376), A_6380_380), B_2381_381)) <=> (=(ti(X_a377_377, A_4378_378), ti(X_a377_377, A_6380_380)) & =(ti(X_b376_376, B379_379), ti(X_b376_376, B_2381_381))))) & ! [X_a382_382, X_b383_383, Pa384_384] :  ((! [X1385_385] :  (hBOOL(hAPP(product_prod(X_a382_382, X_b383_383), bool, Pa384_384, X1385_385))) <=> ! [A_3386_386, B_1387_387] :  (hBOOL(hAPP(product_prod(X_a382_382, X_b383_383), bool, Pa384_384, hAPP(X_b383_383, product_prod(X_a382_382, X_b383_383), hAPP(X_a382_382, fun(X_b383_383, product_prod(X_a382_382, X_b383_383)), product_Pair(X_a382_382, X_b383_383), A_3386_386), B_1387_387)))))) & ! [X_b388_388, X_a389_389, F_2390_390, B391_391, A_4392_392, X_1393_393] :  (((=(ti(X_a389_389, X_1393_393), ti(X_a389_389, A_4392_392)) => =(hAPP(X_a389_389, X_b388_388, hAPP(X_b388_388, fun(X_a389_389, X_b388_388), hAPP(X_a389_389, fun(X_b388_388, fun(X_a389_389, X_b388_388)), hAPP(fun(X_a389_389, X_b388_388), fun(X_a389_389, fun(X_b388_388, fun(X_a389_389, X_b388_388))), fun_upd(X_a389_389, X_b388_388), F_2390_390), A_4392_392), B391_391), X_1393_393), ti(X_b388_388, B391_391))) & (~=(ti(X_a389_389, X_1393_393), ti(X_a389_389, A_4392_392)) => =(hAPP(X_a389_389, X_b388_388, hAPP(X_b388_388, fun(X_a389_389, X_b388_388), hAPP(X_a389_389, fun(X_b388_388, fun(X_a389_389, X_b388_388)), hAPP(fun(X_a389_389, X_b388_388), fun(X_a389_389, fun(X_b388_388, fun(X_a389_389, X_b388_388))), fun_upd(X_a389_389, X_b388_388), F_2390_390), A_4392_392), B391_391), X_1393_393), hAPP(X_a389_389, X_b388_388, F_2390_390, X_1393_393))))) & ! [X_b394_394, X_a395_395, F_2396_396, X_2397_397, Y_1398_398] :  ((=(hAPP(X_b394_394, X_a395_395, F_2396_396, X_2397_397), ti(X_a395_395, Y_1398_398)) => =(hAPP(X_a395_395, fun(X_b394_394, X_a395_395), hAPP(X_b394_394, fun(X_a395_395, fun(X_b394_394, X_a395_395)), hAPP(fun(X_b394_394, X_a395_395), fun(X_b394_394, fun(X_a395_395, fun(X_b394_394, X_a395_395))), fun_upd(X_b394_394, X_a395_395), F_2396_396), X_2397_397), Y_1398_398), ti(fun(X_b394_394, X_a395_395), F_2396_396)))) & ! [X_b399_399, X_a400_400, F_2401_401, Y_1402_402, Z403_403, X_2404_404] :  ((~=(ti(X_a400_400, Z403_403), ti(X_a400_400, X_2404_404)) => =(hAPP(X_a400_400, X_b399_399, hAPP(X_b399_399, fun(X_a400_400, X_b399_399), hAPP(X_a400_400, fun(X_b399_399, fun(X_a400_400, X_b399_399)), hAPP(fun(X_a400_400, X_b399_399), fun(X_a400_400, fun(X_b399_399, fun(X_a400_400, X_b399_399))), fun_upd(X_a400_400, X_b399_399), F_2401_401), X_2404_404), Y_1402_402), Z403_403), hAPP(X_a400_400, X_b399_399, F_2401_401, Z403_403)))) & ! [X_b405_405, X_a406_406, M407_407, B408_408, D_4409_409, A_4410_410, C411_411] :  ((~=(ti(X_a406_406, A_4410_410), ti(X_a406_406, C411_411)) => =(hAPP(X_b405_405, fun(X_a406_406, X_b405_405), hAPP(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405)), hAPP(fun(X_a406_406, X_b405_405), fun(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405))), fun_upd(X_a406_406, X_b405_405), hAPP(X_b405_405, fun(X_a406_406, X_b405_405), hAPP(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405)), hAPP(fun(X_a406_406, X_b405_405), fun(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405))), fun_upd(X_a406_406, X_b405_405), M407_407), A_4410_410), B408_408)), C411_411), D_4409_409), hAPP(X_b405_405, fun(X_a406_406, X_b405_405), hAPP(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405)), hAPP(fun(X_a406_406, X_b405_405), fun(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405))), fun_upd(X_a406_406, X_b405_405), hAPP(X_b405_405, fun(X_a406_406, X_b405_405), hAPP(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405)), hAPP(fun(X_a406_406, X_b405_405), fun(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405))), fun_upd(X_a406_406, X_b405_405), M407_407), C411_411), D_4409_409)), A_4410_410), B408_408)))) & ! [X_b412_412, X_a413_413, F_2414_414, Y_1415_415, Z416_416, X_2417_417] :  (((=(ti(X_a413_413, Z416_416), ti(X_a413_413, X_2417_417)) => =(hAPP(X_a413_413, X_b412_412, hAPP(X_b412_412, fun(X_a413_413, X_b412_412), hAPP(X_a413_413, fun(X_b412_412, fun(X_a413_413, X_b412_412)), hAPP(fun(X_a413_413, X_b412_412), fun(X_a413_413, fun(X_b412_412, fun(X_a413_413, X_b412_412))), fun_upd(X_a413_413, X_b412_412), F_2414_414), X_2417_417), Y_1415_415), Z416_416), ti(X_b412_412, Y_1415_415))) & (~=(ti(X_a413_413, Z416_416), ti(X_a413_413, X_2417_417)) => =(hAPP(X_a413_413, X_b412_412, hAPP(X_b412_412, fun(X_a413_413, X_b412_412), hAPP(X_a413_413, fun(X_b412_412, fun(X_a413_413, X_b412_412)), hAPP(fun(X_a413_413, X_b412_412), fun(X_a413_413, fun(X_b412_412, fun(X_a413_413, X_b412_412))), fun_upd(X_a413_413, X_b412_412), F_2414_414), X_2417_417), Y_1415_415), Z416_416), hAPP(X_a413_413, X_b412_412, F_2414_414, Z416_416))))) & ! [X_b418_418, X_a419_419, F_2420_420, X_2421_421, Y_1422_422] :  (=(hAPP(X_b418_418, X_a419_419, hAPP(X_a419_419, fun(X_b418_418, X_a419_419), hAPP(X_b418_418, fun(X_a419_419, fun(X_b418_418, X_a419_419)), hAPP(fun(X_b418_418, X_a419_419), fun(X_b418_418, fun(X_a419_419, fun(X_b418_418, X_a419_419))), fun_upd(X_b418_418, X_a419_419), F_2420_420), X_2421_421), Y_1422_422), X_2421_421), ti(X_a419_419, Y_1422_422))) & ! [X_b423_423, X_a424_424, F_2425_425, X_2426_426, Y_1427_427, Z428_428] :  (=(hAPP(X_b423_423, fun(X_a424_424, X_b423_423), hAPP(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423)), hAPP(fun(X_a424_424, X_b423_423), fun(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423))), fun_upd(X_a424_424, X_b423_423), hAPP(X_b423_423, fun(X_a424_424, X_b423_423), hAPP(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423)), hAPP(fun(X_a424_424, X_b423_423), fun(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423))), fun_upd(X_a424_424, X_b423_423), F_2425_425), X_2426_426), Y_1427_427)), X_2426_426), Z428_428), hAPP(X_b423_423, fun(X_a424_424, X_b423_423), hAPP(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423)), hAPP(fun(X_a424_424, X_b423_423), fun(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423))), fun_upd(X_a424_424, X_b423_423), F_2425_425), X_2426_426), Z428_428))) & ! [X_b429_429, X_a430_430, F_2431_431, X_2432_432, Y_1433_433] :  ((=(hAPP(X_b429_429, fun(X_a430_430, X_b429_429), hAPP(X_a430_430, fun(X_b429_429, fun(X_a430_430, X_b429_429)), hAPP(fun(X_a430_430, X_b429_429), fun(X_a430_430, fun(X_b429_429, fun(X_a430_430, X_b429_429))), fun_upd(X_a430_430, X_b429_429), F_2431_431), X_2432_432), Y_1433_433), ti(fun(X_a430_430, X_b429_429), F_2431_431)) <=> =(hAPP(X_a430_430, X_b429_429, F_2431_431, X_2432_432), ti(X_b429_429, Y_1433_433)))) & ! [X_m434_434, P435_435, T_2436_436] :  (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, X_m434_434)))))))), fun(ty, fun(ty, bool)), widen(X_m434_434), P435_435), T_2436_436), T_2436_436))) & ! [Ea437_437, Ta438_438, Eb439_439, Hb440_440, Lb441_441, E_b442_442, H_b443_443, L_b444_444, Pa445_445] :  ((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)))), Eb439_439), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb440_440), Lb441_441))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b442_442), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b443_443), L_b444_444)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa445_445))) => (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, Pa445_445), Hb440_440), Ea437_437), Eb439_439), Ta438_438)) => (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)))), Pa445_445), Hb440_440)) => 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)))), Pa445_445), H_b443_443)))))) & ! [Ea446_446, Ta447_447, Eb448_448, Hb449_449, Lb450_450, E_b451_451, H_b452_452, L_b453_453, Pa454_454] :  ((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)))), Eb448_448), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb449_449), Lb450_450))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b451_451), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b452_452), L_b453_453)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa454_454))) => (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, Pa454_454), Hb449_449), Ea446_446), Eb448_448), Ta447_447)) => (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)))), Pa454_454), Hb449_449), Lb450_450), Ea446_446)) => 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)))), Pa454_454), H_b452_452), L_b453_453), Ea446_446)))))) & ! [X_a455_455, X_b456_456, X_c457_457, Y458_458] :  (~! [A_3459_459, B_1460_460, C_6461_461] :  (~=(ti(product_prod(X_a455_455, product_prod(X_b456_456, X_c457_457)), Y458_458), hAPP(product_prod(X_b456_456, X_c457_457), product_prod(X_a455_455, product_prod(X_b456_456, X_c457_457)), hAPP(X_a455_455, fun(product_prod(X_b456_456, X_c457_457), product_prod(X_a455_455, product_prod(X_b456_456, X_c457_457))), product_Pair(X_a455_455, product_prod(X_b456_456, X_c457_457)), A_3459_459), hAPP(X_c457_457, product_prod(X_b456_456, X_c457_457), hAPP(X_b456_456, fun(X_c457_457, product_prod(X_b456_456, X_c457_457)), product_Pair(X_b456_456, X_c457_457), B_1460_460), C_6461_461))))) & ! [X_a462_462, X_b463_463, X_c464_464, X_2465_465, Pa466_466] :  ((! [A_3467_467, B_1468_468, C_6469_469] :  (hBOOL(hAPP(product_prod(X_a462_462, product_prod(X_b463_463, X_c464_464)), bool, Pa466_466, hAPP(product_prod(X_b463_463, X_c464_464), product_prod(X_a462_462, product_prod(X_b463_463, X_c464_464)), hAPP(X_a462_462, fun(product_prod(X_b463_463, X_c464_464), product_prod(X_a462_462, product_prod(X_b463_463, X_c464_464))), product_Pair(X_a462_462, product_prod(X_b463_463, X_c464_464)), A_3467_467), hAPP(X_c464_464, product_prod(X_b463_463, X_c464_464), hAPP(X_b463_463, fun(X_c464_464, product_prod(X_b463_463, X_c464_464)), product_Pair(X_b463_463, X_c464_464), B_1468_468), C_6469_469))))) => hBOOL(hAPP(product_prod(X_a462_462, product_prod(X_b463_463, X_c464_464)), bool, Pa466_466, X_2465_465)))) & ! [Ea470_470, Ta471_471, Eb472_472, S_2473_473, E_b474_474, S475_475, Pa476_476] :  ((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)))), Eb472_472), S_2473_473)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b474_474), S475_475))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa476_476))) => (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, Pa476_476), 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, S_2473_473)), Ea470_470), Eb472_472), Ta471_471)) => (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)), typeSa1687304666_sconf, Pa476_476), Ea470_470), S_2473_473)) => 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)), typeSa1687304666_sconf, Pa476_476), Ea470_470), S475_475)))))) & ! [X_b477_477, X_c478_478, X_a479_479, F1480_480, A_4481_481, B482_482] :  (=(hAPP(product_prod(X_b477_477, X_c478_478), X_a479_479, hAPP(fun(X_b477_477, fun(X_c478_478, X_a479_479)), fun(product_prod(X_b477_477, X_c478_478), X_a479_479), product_prod_rec(X_b477_477, X_c478_478, X_a479_479), F1480_480), hAPP(X_c478_478, product_prod(X_b477_477, X_c478_478), hAPP(X_b477_477, fun(X_c478_478, product_prod(X_b477_477, X_c478_478)), product_Pair(X_b477_477, X_c478_478), A_4481_481), B482_482)), hAPP(X_c478_478, X_a479_479, hAPP(X_b477_477, fun(X_c478_478, X_a479_479), F1480_480, A_4481_481), B482_482))) & ! [X_a483_483, X_b484_484, S_6485_485, R_2486_486] :  ((! [X_1487_487, Xa488_488] :  ((hBOOL(hAPP(fun(product_prod(X_a483_483, X_b484_484), bool), bool, hAPP(product_prod(X_a483_483, X_b484_484), fun(fun(product_prod(X_a483_483, X_b484_484), bool), bool), member(product_prod(X_a483_483, X_b484_484)), hAPP(X_b484_484, product_prod(X_a483_483, X_b484_484), hAPP(X_a483_483, fun(X_b484_484, product_prod(X_a483_483, X_b484_484)), product_Pair(X_a483_483, X_b484_484), X_1487_487), Xa488_488)), R_2486_486)) <=> hBOOL(hAPP(fun(product_prod(X_a483_483, X_b484_484), bool), bool, hAPP(product_prod(X_a483_483, X_b484_484), fun(fun(product_prod(X_a483_483, X_b484_484), bool), bool), member(product_prod(X_a483_483, X_b484_484)), hAPP(X_b484_484, product_prod(X_a483_483, X_b484_484), hAPP(X_a483_483, fun(X_b484_484, product_prod(X_a483_483, X_b484_484)), product_Pair(X_a483_483, X_b484_484), X_1487_487), Xa488_488)), S_6485_485)))) <=> =(ti(fun(product_prod(X_a483_483, X_b484_484), bool), R_2486_486), ti(fun(product_prod(X_a483_483, X_b484_484), bool), S_6485_485)))) & ! [X_a489_489, X_b490_490, Y491_491] :  (~! [A_3492_492, B_1493_493] :  (~=(ti(product_prod(X_a489_489, X_b490_490), Y491_491), hAPP(X_b490_490, product_prod(X_a489_489, X_b490_490), hAPP(X_a489_489, fun(X_b490_490, product_prod(X_a489_489, X_b490_490)), product_Pair(X_a489_489, X_b490_490), A_3492_492), B_1493_493)))) & ! [X_a494_494, X_b495_495, P_2496_496] :  (~! [X_1497_497, Y_2498_498] :  (~=(ti(product_prod(X_a494_494, X_b495_495), P_2496_496), hAPP(X_b495_495, product_prod(X_a494_494, X_b495_495), hAPP(X_a494_494, fun(X_b495_495, product_prod(X_a494_494, X_b495_495)), product_Pair(X_a494_494, X_b495_495), X_1497_497), Y_2498_498)))) & ! [X_a499_499, X_b500_500, Pa501_501] :  ((? [X1502_502] :  (hBOOL(hAPP(product_prod(X_a499_499, X_b500_500), bool, Pa501_501, X1502_502))) <=> ? [A_3503_503, B_1504_504] :  (hBOOL(hAPP(product_prod(X_a499_499, X_b500_500), bool, Pa501_501, hAPP(X_b500_500, product_prod(X_a499_499, X_b500_500), hAPP(X_a499_499, fun(X_b500_500, product_prod(X_a499_499, X_b500_500)), product_Pair(X_a499_499, X_b500_500), A_3503_503), B_1504_504)))))) & ! [X_a505_505, T_2506_506, P507_507, S_5508_508, U_1509_509] :  ((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, X_a505_505)))))))), fun(ty, fun(ty, bool)), widen(X_a505_505), P507_507), S_5508_508), U_1509_509)) => (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, X_a505_505)))))))), fun(ty, fun(ty, bool)), widen(X_a505_505), P507_507), U_1509_509), T_2506_506)) => 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, X_a505_505)))))))), fun(ty, fun(ty, bool)), widen(X_a505_505), P507_507), S_5508_508), T_2506_506))))) & 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)) & ! [X_b510_510, X_c511_511, X_a512_512, C513_513, A_4514_514, B515_515] :  (=(hAPP(product_prod(X_b510_510, X_c511_511), X_a512_512, hAPP(fun(X_b510_510, fun(X_c511_511, X_a512_512)), fun(product_prod(X_b510_510, X_c511_511), X_a512_512), produc1605651328_split(X_b510_510, X_c511_511, X_a512_512), C513_513), hAPP(X_c511_511, product_prod(X_b510_510, X_c511_511), hAPP(X_b510_510, fun(X_c511_511, product_prod(X_b510_510, X_c511_511)), product_Pair(X_b510_510, X_c511_511), A_4514_514), B515_515)), hAPP(X_c511_511, X_a512_512, hAPP(X_b510_510, fun(X_c511_511, X_a512_512), C513_513, A_4514_514), B515_515))) & ! [Pa516_516, Ea517_517, S_2518_518] :  ((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)), typeSa1687304666_sconf, Pa516_516), Ea517_517), S_2518_518)) <=> 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)))), Pa516_516)))), 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)))), Pa516_516))), Ea517_517))), S_2518_518)))) & ! [Eb519_519, Hb520_520, Lb521_521, E_b522_522, H_b523_523, L_b524_524, Pa525_525] :  ((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)))), Eb519_519), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb520_520), Lb521_521))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b522_522), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b523_523), L_b524_524)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa525_525))) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb520_520), H_b523_523)))) & ! [X_b526_526, X_c527_527, X_a528_528, X_1529_529, Xa530_530, Xb_1531_531] :  (=(hAPP(X_b526_526, X_c527_527, hAPP(X_a528_528, fun(X_b526_526, X_c527_527), hAPP(fun(product_prod(X_a528_528, X_b526_526), X_c527_527), fun(X_a528_528, fun(X_b526_526, X_c527_527)), product_curry(X_a528_528, X_b526_526, X_c527_527), X_1529_529), Xa530_530), Xb_1531_531), hAPP(product_prod(X_a528_528, X_b526_526), X_c527_527, X_1529_529, hAPP(X_b526_526, product_prod(X_a528_528, X_b526_526), hAPP(X_a528_528, fun(X_b526_526, product_prod(X_a528_528, X_b526_526)), product_Pair(X_a528_528, X_b526_526), Xa530_530), Xb_1531_531)))) & ! [Eb532_532, Hb533_533, Lb534_534, E_b535_535, H_b536_536, L_b537_537, Pa538_538] :  ((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), Pa538_538)) => (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)))), Eb532_532), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb533_533), Lb534_534))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b535_535), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b536_536), L_b537_537)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa538_538))) => (hBOOL(hAPP(option(fun(list(char), bool)), bool, hAPP(exp(list(char)), fun(option(fun(list(char), bool)), bool), d(list(char)), Eb532_532), hAPP(fun(list(char), bool), option(fun(list(char), bool)), some(fun(list(char), bool)), hAPP(fun(list(char), option(val)), fun(list(char), bool), dom(list(char), val), Lb534_534)))) => hBOOL(hAPP(option(fun(list(char), bool)), bool, hAPP(exp(list(char)), fun(option(fun(list(char), bool)), bool), d(list(char)), E_b535_535), hAPP(fun(list(char), bool), option(fun(list(char), bool)), some(fun(list(char), bool)), hAPP(fun(list(char), option(val)), fun(list(char), bool), dom(list(char), val), L_b537_537)))))))) & ! [X_a539_539, A_4540_540, A_6541_541] :  ((=(hAPP(X_a539_539, option(X_a539_539), some(X_a539_539), A_4540_540), hAPP(X_a539_539, option(X_a539_539), some(X_a539_539), A_6541_541)) <=> =(ti(X_a539_539, A_4540_540), ti(X_a539_539, A_6541_541)))) & ! [X_a542_542, X_b543_543, F_2544_544, A_4545_545, B546_546] :  ((hBOOL(hAPP(product_prod(X_a542_542, X_b543_543), bool, F_2544_544, hAPP(X_b543_543, product_prod(X_a542_542, X_b543_543), hAPP(X_a542_542, fun(X_b543_543, product_prod(X_a542_542, X_b543_543)), product_Pair(X_a542_542, X_b543_543), A_4545_545), B546_546))) => hBOOL(hAPP(X_b543_543, bool, hAPP(X_a542_542, fun(X_b543_543, bool), hAPP(fun(product_prod(X_a542_542, X_b543_543), bool), fun(X_a542_542, fun(X_b543_543, bool)), product_curry(X_a542_542, X_b543_543, bool), F_2544_544), A_4545_545), B546_546)))) & ! [L_0_1547_547, Eb548_548, Hb549_549, Lb550_550, E_b551_551, H_b552_552, L_b553_553, Pa554_554] :  ((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)))), Eb548_548), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb549_549), Lb550_550))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b551_551), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b552_552), L_b553_553)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa554_554))) => 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)))), Eb548_548), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb549_549), hAPP(fun(list(char), option(val)), fun(list(char), option(val)), hAPP(fun(list(char), option(val)), fun(fun(list(char), option(val)), fun(list(char), option(val))), map_add(list(char), val), L_0_1547_547), Lb550_550)))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b551_551), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b552_552), hAPP(fun(list(char), option(val)), fun(list(char), option(val)), hAPP(fun(list(char), option(val)), fun(fun(list(char), option(val)), fun(list(char), option(val))), map_add(list(char), val), L_0_1547_547), L_b553_553))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa554_554))))) & ! [X_a555_555, Va_1556_556, Va557_557, Ta558_558, Pa559_559, Hb560_560, Lb561_561, Ea562_562] :  ((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, X_a555_555)))))))), 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(X_a555_555), Pa559_559), Hb560_560), Lb561_561), Ea562_562)) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a555_555)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a555_555), Pa559_559), Hb560_560), Va557_557), Ta558_558)) => (=(hAPP(list(char), option(ty), Ea562_562, Va_1556_556), hAPP(ty, option(ty), some(ty), Ta558_558)) => 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, X_a555_555)))))))), 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(X_a555_555), Pa559_559), Hb560_560), 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)), Lb561_561), Va_1556_556), hAPP(val, option(val), some(val), Va557_557))), Ea562_562)))))) & ! [X_b563_563, X_a564_564, F1565_565, A_4566_566, B567_567] :  ((hBOOL(hAPP(X_b563_563, bool, hAPP(X_a564_564, fun(X_b563_563, bool), F1565_565, A_4566_566), B567_567)) => hBOOL(hAPP(product_prod(X_a564_564, X_b563_563), bool, hAPP(fun(X_a564_564, fun(X_b563_563, bool)), fun(product_prod(X_a564_564, X_b563_563), bool), product_prod_case(X_a564_564, X_b563_563, bool), F1565_565), hAPP(X_b563_563, product_prod(X_a564_564, X_b563_563), hAPP(X_a564_564, fun(X_b563_563, product_prod(X_a564_564, X_b563_563)), product_Pair(X_a564_564, X_b563_563), A_4566_566), B567_567))))) & ! [X_b568_568, X_a569_569, F_2570_570, A_4571_571, B572_572] :  ((hBOOL(hAPP(X_b568_568, bool, hAPP(X_a569_569, fun(X_b568_568, bool), F_2570_570, A_4571_571), B572_572)) => hBOOL(hAPP(product_prod(X_a569_569, X_b568_568), bool, hAPP(fun(X_a569_569, fun(X_b568_568, bool)), fun(product_prod(X_a569_569, X_b568_568), bool), product_prod_case(X_a569_569, X_b568_568, bool), F_2570_570), hAPP(X_b568_568, product_prod(X_a569_569, X_b568_568), hAPP(X_a569_569, fun(X_b568_568, product_prod(X_a569_569, X_b568_568)), product_Pair(X_a569_569, X_b568_568), A_4571_571), B572_572))))) & ! [X_a573_573, Pa574_574, Va575_575, Ta576_576, Hb577_577, H_b578_578] :  ((hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb577_577), H_b578_578)) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a573_573)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a573_573), Pa574_574), Hb577_577), Va575_575), Ta576_576)) => hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a573_573)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a573_573), Pa574_574), H_b578_578), Va575_575), Ta576_576))))) & ! [X_a579_579, Pa580_580, Fs_2581_581, X_2582_582, Ta583_583, Hb584_584, A_4585_585, C_1586_586, Fs_1587_587] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb584_584, A_4585_585), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1586_586), Fs_1587_587))) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a579_579)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a579_579), Pa580_580), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb584_584), A_4585_585), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1586_586), Fs_2581_581)))), X_2582_582), Ta583_583)) <=> hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a579_579)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a579_579), Pa580_580), Hb584_584), X_2582_582), Ta583_583))))) & ! [X_a588_588, X_b589_589, L1590_590, M591_591, L2592_592] :  ((hBOOL(hAPP(fun(X_a588_588, bool), bool, hAPP(X_a588_588, fun(fun(X_a588_588, bool), bool), member(X_a588_588), M591_591), hAPP(fun(X_a588_588, option(X_b589_589)), fun(X_a588_588, bool), dom(X_a588_588, X_b589_589), L2592_592))) => =(hAPP(X_a588_588, option(X_b589_589), hAPP(fun(X_a588_588, option(X_b589_589)), fun(X_a588_588, option(X_b589_589)), hAPP(fun(X_a588_588, option(X_b589_589)), fun(fun(X_a588_588, option(X_b589_589)), fun(X_a588_588, option(X_b589_589))), map_add(X_a588_588, X_b589_589), L1590_590), L2592_592), M591_591), hAPP(X_a588_588, option(X_b589_589), L2592_592, M591_591)))) & ! [X_c593_593, X_a594_594, X_b595_595, C596_596, P_1597_597, Q_2598_598] :  ((=(ti(product_prod(X_a594_594, X_b595_595), P_1597_597), ti(product_prod(X_a594_594, X_b595_595), Q_2598_598)) => =(hAPP(product_prod(X_a594_594, X_b595_595), X_c593_593, hAPP(fun(X_a594_594, fun(X_b595_595, X_c593_593)), fun(product_prod(X_a594_594, X_b595_595), X_c593_593), product_prod_case(X_a594_594, X_b595_595, X_c593_593), C596_596), P_1597_597), hAPP(product_prod(X_a594_594, X_b595_595), X_c593_593, hAPP(fun(X_a594_594, fun(X_b595_595, X_c593_593)), fun(product_prod(X_a594_594, X_b595_595), X_c593_593), product_prod_case(X_a594_594, X_b595_595, X_c593_593), C596_596), Q_2598_598)))) & ! [X_a599_599, X_b600_600, L1601_601, M602_602, L2603_603] :  ((~hBOOL(hAPP(fun(X_a599_599, bool), bool, hAPP(X_a599_599, fun(fun(X_a599_599, bool), bool), member(X_a599_599), M602_602), hAPP(fun(X_a599_599, option(X_b600_600)), fun(X_a599_599, bool), dom(X_a599_599, X_b600_600), L2603_603))) => =(hAPP(X_a599_599, option(X_b600_600), hAPP(fun(X_a599_599, option(X_b600_600)), fun(X_a599_599, option(X_b600_600)), hAPP(fun(X_a599_599, option(X_b600_600)), fun(fun(X_a599_599, option(X_b600_600)), fun(X_a599_599, option(X_b600_600))), map_add(X_a599_599, X_b600_600), L1601_601), L2603_603), M602_602), hAPP(X_a599_599, option(X_b600_600), L1601_601, M602_602)))) & ! [X_a604_604, X_b605_605, L2606_606, M607_607, L1608_608] :  ((~hBOOL(hAPP(fun(X_a604_604, bool), bool, hAPP(X_a604_604, fun(fun(X_a604_604, bool), bool), member(X_a604_604), M607_607), hAPP(fun(X_a604_604, option(X_b605_605)), fun(X_a604_604, bool), dom(X_a604_604, X_b605_605), L1608_608))) => =(hAPP(X_a604_604, option(X_b605_605), hAPP(fun(X_a604_604, option(X_b605_605)), fun(X_a604_604, option(X_b605_605)), hAPP(fun(X_a604_604, option(X_b605_605)), fun(fun(X_a604_604, option(X_b605_605)), fun(X_a604_604, option(X_b605_605))), map_add(X_a604_604, X_b605_605), L1608_608), L2606_606), M607_607), hAPP(X_a604_604, option(X_b605_605), L2606_606, M607_607)))) & ! [X_a609_609, X_b610_610, X_c611_611] :  (=(produc1605651328_split(X_a609_609, X_b610_610, X_c611_611), product_prod_case(X_a609_609, X_b610_610, X_c611_611))) & ! [X_a612_612, X_b613_613, M1614_614, M2615_615, M3616_616] :  (=(hAPP(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613)), hAPP(fun(X_a612_612, option(X_b613_613)), fun(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613))), map_add(X_a612_612, X_b613_613), M1614_614), hAPP(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613)), hAPP(fun(X_a612_612, option(X_b613_613)), fun(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613))), map_add(X_a612_612, X_b613_613), M2615_615), M3616_616)), hAPP(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613)), hAPP(fun(X_a612_612, option(X_b613_613)), fun(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613))), map_add(X_a612_612, X_b613_613), hAPP(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613)), hAPP(fun(X_a612_612, option(X_b613_613)), fun(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613))), map_add(X_a612_612, X_b613_613), M1614_614), M2615_615)), M3616_616))) & ! [X_b617_617, X_c618_618, X_a619_619, X_d620_620, X_e621_621, F_2622_622, G623_623, P_1624_624] :  (=(hAPP(product_prod(X_b617_617, X_c618_618), X_a619_619, hAPP(fun(X_b617_617, fun(X_c618_618, X_a619_619)), fun(product_prod(X_b617_617, X_c618_618), X_a619_619), product_prod_case(X_b617_617, X_c618_618, X_a619_619), F_2622_622), hAPP(product_prod(X_d620_620, X_e621_621), product_prod(X_b617_617, X_c618_618), hAPP(fun(X_d620_620, fun(X_e621_621, product_prod(X_b617_617, X_c618_618))), fun(product_prod(X_d620_620, X_e621_621), product_prod(X_b617_617, X_c618_618)), product_prod_case(X_d620_620, X_e621_621, product_prod(X_b617_617, X_c618_618)), G623_623), P_1624_624)), hAPP(product_prod(X_d620_620, X_e621_621), X_a619_619, hAPP(fun(X_d620_620, fun(X_e621_621, X_a619_619)), fun(product_prod(X_d620_620, X_e621_621), X_a619_619), product_prod_case(X_d620_620, X_e621_621, X_a619_619), hAPP(fun(X_d620_620, fun(X_e621_621, product_prod(X_b617_617, X_c618_618))), fun(X_d620_620, fun(X_e621_621, X_a619_619)), hAPP(fun(fun(X_e621_621, product_prod(X_b617_617, X_c618_618)), fun(X_e621_621, X_a619_619)), fun(fun(X_d620_620, fun(X_e621_621, product_prod(X_b617_617, X_c618_618))), fun(X_d620_620, fun(X_e621_621, X_a619_619))), combb(fun(X_e621_621, product_prod(X_b617_617, X_c618_618)), fun(X_e621_621, X_a619_619), X_d620_620), hAPP(fun(product_prod(X_b617_617, X_c618_618), X_a619_619), fun(fun(X_e621_621, product_prod(X_b617_617, X_c618_618)), fun(X_e621_621, X_a619_619)), combb(product_prod(X_b617_617, X_c618_618), X_a619_619, X_e621_621), hAPP(fun(X_b617_617, fun(X_c618_618, X_a619_619)), fun(product_prod(X_b617_617, X_c618_618), X_a619_619), product_prod_case(X_b617_617, X_c618_618, X_a619_619), F_2622_622))), G623_623)), P_1624_624))) & ! [X_a625_625, X_b626_626, X_c627_627, F_2628_628] :  (=(hAPP(fun(X_a625_625, fun(X_b626_626, X_c627_627)), fun(product_prod(X_a625_625, X_b626_626), X_c627_627), product_prod_case(X_a625_625, X_b626_626, X_c627_627), hAPP(fun(product_prod(X_a625_625, X_b626_626), X_c627_627), fun(X_a625_625, fun(X_b626_626, X_c627_627)), product_curry(X_a625_625, X_b626_626, X_c627_627), F_2628_628)), ti(fun(product_prod(X_a625_625, X_b626_626), X_c627_627), F_2628_628))) & ! [X_a629_629, X_b630_630, X_c631_631, F_2632_632] :  (=(hAPP(fun(product_prod(X_a629_629, X_b630_630), X_c631_631), fun(X_a629_629, fun(X_b630_630, X_c631_631)), product_curry(X_a629_629, X_b630_630, X_c631_631), hAPP(fun(X_a629_629, fun(X_b630_630, X_c631_631)), fun(product_prod(X_a629_629, X_b630_630), X_c631_631), product_prod_case(X_a629_629, X_b630_630, X_c631_631), F_2632_632)), ti(fun(X_a629_629, fun(X_b630_630, X_c631_631)), F_2632_632))) & ! [Va_1638_638, Ta639_639, Va640_640, U641_641, S_2642_642, Pa643_643] :  (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)), Va_1638_638), Ta639_639), 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)), Va_1638_638), hAPP(val, exp(list(char)), val_1(list(char)), Va640_640))), hAPP(val, exp(list(char)), val_1(list(char)), U641_641)))), S_2642_642)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), U641_641)), S_2642_642))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa643_643)))) & ! [X_a644_644, T_a645_645, Pa646_646, Hb647_647, Va648_648, Ta649_649] :  ((hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a644_644)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a644_644), Pa646_646), Hb647_647), Va648_648), Ta649_649)) => (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, X_a644_644)))))))), fun(ty, fun(ty, bool)), widen(X_a644_644), Pa646_646), Ta649_649), T_a645_645)) => hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a644_644)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a644_644), Pa646_646), Hb647_647), Va648_648), T_a645_645))))) & ! [X_a650_650, X_b651_651, F_2652_652, A_4653_653, B654_654] :  ((hBOOL(hAPP(product_prod(X_a650_650, X_b651_651), bool, hAPP(fun(X_a650_650, fun(X_b651_651, bool)), fun(product_prod(X_a650_650, X_b651_651), bool), product_prod_case(X_a650_650, X_b651_651, bool), F_2652_652), hAPP(X_b651_651, product_prod(X_a650_650, X_b651_651), hAPP(X_a650_650, fun(X_b651_651, product_prod(X_a650_650, X_b651_651)), product_Pair(X_a650_650, X_b651_651), A_4653_653), B654_654))) => hBOOL(hAPP(X_b651_651, bool, hAPP(X_a650_650, fun(X_b651_651, bool), F_2652_652, A_4653_653), B654_654)))) & ! [X_a655_655, H_b656_656, Pa657_657, Hb658_658, Lb659_659, Ea660_660] :  ((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, X_a655_655)))))))), 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(X_a655_655), Pa657_657), Hb658_658), Lb659_659), Ea660_660)) => (hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb658_658), H_b656_656)) => 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, X_a655_655)))))))), 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(X_a655_655), Pa657_657), H_b656_656), Lb659_659), Ea660_660))))) & ! [Va661_661, E_2662_662, S_2663_663, Pa664_664] :  (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)), Va661_661)), E_2662_662)), S_2663_663)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_2662_662), S_2663_663))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa664_664)))) & ! [X_a665_665, X_b666_666, E1667_667, U1668_668, M669_669, E2670_670] :  ((~hBOOL(hAPP(fun(X_a665_665, bool), bool, hAPP(X_a665_665, fun(fun(X_a665_665, bool), bool), member(X_a665_665), M669_669), hAPP(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, bool), dom(X_a665_665, X_b666_666), E2670_670))) => =(hAPP(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, option(X_b666_666)), hAPP(fun(X_a665_665, option(X_b666_666)), fun(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, option(X_b666_666))), map_add(X_a665_665, X_b666_666), hAPP(option(X_b666_666), fun(X_a665_665, option(X_b666_666)), hAPP(X_a665_665, fun(option(X_b666_666), fun(X_a665_665, option(X_b666_666))), hAPP(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, fun(option(X_b666_666), fun(X_a665_665, option(X_b666_666)))), fun_upd(X_a665_665, option(X_b666_666)), E1667_667), M669_669), hAPP(X_b666_666, option(X_b666_666), some(X_b666_666), U1668_668))), E2670_670), hAPP(option(X_b666_666), fun(X_a665_665, option(X_b666_666)), hAPP(X_a665_665, fun(option(X_b666_666), fun(X_a665_665, option(X_b666_666))), hAPP(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, fun(option(X_b666_666), fun(X_a665_665, option(X_b666_666)))), fun_upd(X_a665_665, option(X_b666_666)), hAPP(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, option(X_b666_666)), hAPP(fun(X_a665_665, option(X_b666_666)), fun(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, option(X_b666_666))), map_add(X_a665_665, X_b666_666), E1667_667), E2670_670)), M669_669), hAPP(X_b666_666, option(X_b666_666), some(X_b666_666), U1668_668))))) & ! [Va_1671_671, Ta672_672, U673_673, S_2674_674, Pa675_675] :  (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)), Va_1671_671), Ta672_672), hAPP(val, exp(list(char)), val_1(list(char)), U673_673))), S_2674_674)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), U673_673)), S_2674_674))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa675_675)))) & ! [X_b676_676, X_a677_677, M678_678, A_4679_679, B680_680] :  ((=(hAPP(X_b676_676, option(X_a677_677), M678_678, A_4679_679), hAPP(X_a677_677, option(X_a677_677), some(X_a677_677), B680_680)) => hBOOL(hAPP(fun(X_b676_676, bool), bool, hAPP(X_b676_676, fun(fun(X_b676_676, bool), bool), member(X_b676_676), A_4679_679), hAPP(fun(X_b676_676, option(X_a677_677)), fun(X_b676_676, bool), dom(X_b676_676, X_a677_677), M678_678))))) & ! [Ta681_681, V_a682_682, Eb683_683, Hb684_684, Lb685_685, Va_1686_686, Va687_687, E_b688_688, H_b689_689, L_b690_690, Pa691_691] :  ((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)))), Eb683_683), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb684_684), 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)), Lb685_685), Va_1686_686), hAPP(val, option(val), some(val), Va687_687))))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b688_688), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b689_689), L_b690_690)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa691_691))) => (=(hAPP(list(char), option(val), L_b690_690, Va_1686_686), hAPP(val, option(val), some(val), V_a682_682)) => 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)), Va_1686_686), Ta681_681), 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)), Va_1686_686), hAPP(val, exp(list(char)), val_1(list(char)), Va687_687))), Eb683_683))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb684_684), Lb685_685))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_1686_686), Ta681_681), 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)), Va_1686_686), hAPP(val, exp(list(char)), val_1(list(char)), V_a682_682))), E_b688_688))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b689_689), 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)), L_b690_690), Va_1686_686), hAPP(list(char), option(val), Lb685_685, Va_1686_686)))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa691_691)))))) & ! [X_b692_692, X_c693_693, X_a694_694, F1695_695, A_4696_696, B697_697] :  (=(hAPP(product_prod(X_b692_692, X_c693_693), X_a694_694, hAPP(fun(X_b692_692, fun(X_c693_693, X_a694_694)), fun(product_prod(X_b692_692, X_c693_693), X_a694_694), product_prod_case(X_b692_692, X_c693_693, X_a694_694), F1695_695), hAPP(X_c693_693, product_prod(X_b692_692, X_c693_693), hAPP(X_b692_692, fun(X_c693_693, product_prod(X_b692_692, X_c693_693)), product_Pair(X_b692_692, X_c693_693), A_4696_696), B697_697)), hAPP(X_c693_693, X_a694_694, hAPP(X_b692_692, fun(X_c693_693, X_a694_694), F1695_695, A_4696_696), B697_697))) & ! [X_b698_698, X_c699_699, X_a700_700, F_2701_701, A_4702_702, B703_703] :  (=(hAPP(product_prod(X_b698_698, X_c699_699), X_a700_700, hAPP(fun(X_b698_698, fun(X_c699_699, X_a700_700)), fun(product_prod(X_b698_698, X_c699_699), X_a700_700), product_prod_case(X_b698_698, X_c699_699, X_a700_700), F_2701_701), hAPP(X_c699_699, product_prod(X_b698_698, X_c699_699), hAPP(X_b698_698, fun(X_c699_699, product_prod(X_b698_698, X_c699_699)), product_Pair(X_b698_698, X_c699_699), A_4702_702), B703_703)), hAPP(X_c699_699, X_a700_700, hAPP(X_b698_698, fun(X_c699_699, X_a700_700), F_2701_701, A_4702_702), B703_703))) & ! [X_b704_704, X_a705_705, M706_706, N707_707, K708_708, Xx709_709] :  ((=(hAPP(X_b704_704, option(X_a705_705), N707_707, K708_708), hAPP(X_a705_705, option(X_a705_705), some(X_a705_705), Xx709_709)) => =(hAPP(X_b704_704, option(X_a705_705), hAPP(fun(X_b704_704, option(X_a705_705)), fun(X_b704_704, option(X_a705_705)), hAPP(fun(X_b704_704, option(X_a705_705)), fun(fun(X_b704_704, option(X_a705_705)), fun(X_b704_704, option(X_a705_705))), map_add(X_b704_704, X_a705_705), M706_706), N707_707), K708_708), hAPP(X_a705_705, option(X_a705_705), some(X_a705_705), Xx709_709)))) & ! [X_a710_710, X_b711_711, X_c712_712, F_2713_713] :  (=(hAPP(fun(X_a710_710, fun(X_b711_711, X_c712_712)), fun(product_prod(X_a710_710, X_b711_711), X_c712_712), product_prod_case(X_a710_710, X_b711_711, X_c712_712), hAPP(fun(X_a710_710, fun(X_b711_711, product_prod(X_a710_710, X_b711_711))), fun(X_a710_710, fun(X_b711_711, X_c712_712)), hAPP(fun(fun(X_b711_711, product_prod(X_a710_710, X_b711_711)), fun(X_b711_711, X_c712_712)), fun(fun(X_a710_710, fun(X_b711_711, product_prod(X_a710_710, X_b711_711))), fun(X_a710_710, fun(X_b711_711, X_c712_712))), combb(fun(X_b711_711, product_prod(X_a710_710, X_b711_711)), fun(X_b711_711, X_c712_712), X_a710_710), hAPP(fun(product_prod(X_a710_710, X_b711_711), X_c712_712), fun(fun(X_b711_711, product_prod(X_a710_710, X_b711_711)), fun(X_b711_711, X_c712_712)), combb(product_prod(X_a710_710, X_b711_711), X_c712_712, X_b711_711), F_2713_713)), product_Pair(X_a710_710, X_b711_711))), ti(fun(product_prod(X_a710_710, X_b711_711), X_c712_712), F_2713_713))) & ! [X_a714_714, X_b715_715, F_2716_716, G717_717] :  ((! [X_1718_718] :  (=(hAPP(X_a714_714, X_b715_715, F_2716_716, X_1718_718), hAPP(X_a714_714, X_b715_715, G717_717, X_1718_718))) => =(ti(fun(X_a714_714, X_b715_715), F_2716_716), ti(fun(X_a714_714, X_b715_715), G717_717)))) & ! [X_a719_719, X_2720_720, A_5721_721] :  ((hBOOL(hAPP(fun(X_a719_719, bool), bool, hAPP(X_a719_719, fun(fun(X_a719_719, bool), bool), member(X_a719_719), X_2720_720), A_5721_721)) <=> hBOOL(hAPP(X_a719_719, bool, A_5721_721, X_2720_720)))) & ! [X_a722_722, Pa723_723] :  (=(hAPP(fun(X_a722_722, bool), fun(X_a722_722, bool), collect(X_a722_722), Pa723_723), ti(fun(X_a722_722, bool), Pa723_723))) & ! [Va_1724_724, Eb725_725, S_2726_726, E_b727_727, S728_728, Pa729_729] :  ((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)))), Eb725_725), S_2726_726)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b727_727), S728_728))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa729_729))) => 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)), Va_1724_724), Eb725_725)), S_2726_726)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_1724_724), E_b727_727)), S728_728))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa729_729))))) & ! [E_2730_730, Eb731_731, S_2732_732, E_b733_733, S734_734, Pa735_735] :  ((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)))), Eb731_731), S_2732_732)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b733_733), S734_734))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa735_735))) => 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)), Eb731_731), E_2730_730)), S_2732_732)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), E_b733_733), E_2730_730)), S734_734))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa735_735))))) & ! [X_b736_736, X_a737_737, F_2738_738, A_4739_739, B740_740] :  ((hBOOL(hAPP(X_b736_736, bool, hAPP(X_a737_737, fun(X_b736_736, bool), hAPP(fun(product_prod(X_a737_737, X_b736_736), bool), fun(X_a737_737, fun(X_b736_736, bool)), product_curry(X_a737_737, X_b736_736, bool), F_2738_738), A_4739_739), B740_740)) => hBOOL(hAPP(product_prod(X_a737_737, X_b736_736), bool, F_2738_738, hAPP(X_b736_736, product_prod(X_a737_737, X_b736_736), hAPP(X_a737_737, fun(X_b736_736, product_prod(X_a737_737, X_b736_736)), product_Pair(X_a737_737, X_b736_736), A_4739_739), B740_740))))) & ! [X_b741_741, X_a742_742, F_2743_743, A_4744_744, B745_745] :  ((hBOOL(hAPP(X_b741_741, bool, hAPP(X_a742_742, fun(X_b741_741, bool), hAPP(fun(product_prod(X_a742_742, X_b741_741), bool), fun(X_a742_742, fun(X_b741_741, bool)), product_curry(X_a742_742, X_b741_741, bool), F_2743_743), A_4744_744), B745_745)) => hBOOL(hAPP(product_prod(X_a742_742, X_b741_741), bool, F_2743_743, hAPP(X_b741_741, product_prod(X_a742_742, X_b741_741), hAPP(X_a742_742, fun(X_b741_741, product_prod(X_a742_742, X_b741_741)), product_Pair(X_a742_742, X_b741_741), A_4744_744), B745_745))))) & ! [X_a746_746, X_b747_747, F_2748_748, G749_749, X_2750_750, Y_1751_751] :  (=(hAPP(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, option(X_b747_747)), hAPP(fun(X_a746_746, option(X_b747_747)), fun(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, option(X_b747_747))), map_add(X_a746_746, X_b747_747), F_2748_748), hAPP(option(X_b747_747), fun(X_a746_746, option(X_b747_747)), hAPP(X_a746_746, fun(option(X_b747_747), fun(X_a746_746, option(X_b747_747))), hAPP(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, fun(option(X_b747_747), fun(X_a746_746, option(X_b747_747)))), fun_upd(X_a746_746, option(X_b747_747)), G749_749), X_2750_750), hAPP(X_b747_747, option(X_b747_747), some(X_b747_747), Y_1751_751))), hAPP(option(X_b747_747), fun(X_a746_746, option(X_b747_747)), hAPP(X_a746_746, fun(option(X_b747_747), fun(X_a746_746, option(X_b747_747))), hAPP(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, fun(option(X_b747_747), fun(X_a746_746, option(X_b747_747)))), fun_upd(X_a746_746, option(X_b747_747)), hAPP(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, option(X_b747_747)), hAPP(fun(X_a746_746, option(X_b747_747)), fun(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, option(X_b747_747))), map_add(X_a746_746, X_b747_747), F_2748_748), G749_749)), X_2750_750), hAPP(X_b747_747, option(X_b747_747), some(X_b747_747), Y_1751_751)))) & ! [X_c752_752, X_a753_753, X_b754_754, F_2755_755, A_4756_756, B757_757] :  (=(hAPP(X_c752_752, X_a753_753, hAPP(X_b754_754, fun(X_c752_752, X_a753_753), hAPP(fun(product_prod(X_b754_754, X_c752_752), X_a753_753), fun(X_b754_754, fun(X_c752_752, X_a753_753)), product_curry(X_b754_754, X_c752_752, X_a753_753), F_2755_755), A_4756_756), B757_757), hAPP(product_prod(X_b754_754, X_c752_752), X_a753_753, F_2755_755, hAPP(X_c752_752, product_prod(X_b754_754, X_c752_752), hAPP(X_b754_754, fun(X_c752_752, product_prod(X_b754_754, X_c752_752)), product_Pair(X_b754_754, X_c752_752), A_4756_756), B757_757)))) & ! [X_a758_758, Va_1759_759, Va760_760, Ta761_761, Pa762_762, Hb763_763, Lb764_764, Ea765_765] :  ((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, X_a758_758)))))))), 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(X_a758_758), Pa762_762), Hb763_763), Lb764_764), Ea765_765)) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a758_758)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a758_758), Pa762_762), Hb763_763), Va760_760), Ta761_761)) => 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, X_a758_758)))))))), 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(X_a758_758), Pa762_762), Hb763_763), 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)), Lb764_764), Va_1759_759), hAPP(val, option(val), some(val), Va760_760))), 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)), Ea765_765), Va_1759_759), hAPP(ty, option(ty), some(ty), Ta761_761))))))) & ! [Pa766_766, Hb767_767, Ea768_768, Va_1769_769, Ta770_770, Eb771_771, T_a772_772] :  ((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, Pa766_766), Hb767_767), 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)), Ea768_768), Va_1769_769), hAPP(ty, option(ty), some(ty), Ta770_770))), Eb771_771), T_a772_772)) => 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, Pa766_766), Hb767_767), Ea768_768), 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)), Va_1769_769), Ta770_770), Eb771_771)), T_a772_772)))) & ! [X_a773_773, X_b774_774, C775_775, P_1776_776] :  ((hBOOL(hAPP(product_prod(X_a773_773, X_b774_774), bool, hAPP(fun(X_a773_773, fun(X_b774_774, bool)), fun(product_prod(X_a773_773, X_b774_774), bool), product_prod_case(X_a773_773, X_b774_774, bool), C775_775), P_1776_776)) => ~! [X_1777_777, Y_2778_778] :  ((=(ti(product_prod(X_a773_773, X_b774_774), P_1776_776), hAPP(X_b774_774, product_prod(X_a773_773, X_b774_774), hAPP(X_a773_773, fun(X_b774_774, product_prod(X_a773_773, X_b774_774)), product_Pair(X_a773_773, X_b774_774), X_1777_777), Y_2778_778)) => ~hBOOL(hAPP(X_b774_774, bool, hAPP(X_a773_773, fun(X_b774_774, bool), C775_775, X_1777_777), Y_2778_778)))))) & ! [X_a779_779, X_b780_780, C781_781, P_1782_782] :  ((! [A_3783_783, B_1784_784] :  ((=(ti(product_prod(X_a779_779, X_b780_780), P_1782_782), hAPP(X_b780_780, product_prod(X_a779_779, X_b780_780), hAPP(X_a779_779, fun(X_b780_780, product_prod(X_a779_779, X_b780_780)), product_Pair(X_a779_779, X_b780_780), A_3783_783), B_1784_784)) => hBOOL(hAPP(X_b780_780, bool, hAPP(X_a779_779, fun(X_b780_780, bool), C781_781, A_3783_783), B_1784_784)))) => hBOOL(hAPP(product_prod(X_a779_779, X_b780_780), bool, hAPP(fun(X_a779_779, fun(X_b780_780, bool)), fun(product_prod(X_a779_779, X_b780_780), bool), product_prod_case(X_a779_779, X_b780_780, bool), C781_781), P_1782_782)))) & ! [E_2785_785, T_2_2786_786, Pa787_787, Hb788_788, Ea789_789, E_1790_790, T_1_2791_791] :  ((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, Pa787_787), Hb788_788), Ea789_789), E_1790_790), T_1_2791_791)) => (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, Pa787_787), Hb788_788), Ea789_789), E_2785_785), T_2_2786_786)) => 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, Pa787_787), Hb788_788), Ea789_789), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), E_1790_790), E_2785_785)), T_2_2786_786))))) & ! [Va_1800_800, Va801_801, Hb802_802, Lb803_803, Pa804_804] :  (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)), Va_1800_800), hAPP(val, exp(list(char)), val_1(list(char)), Va801_801))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb802_802), Lb803_803))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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))), Hb802_802), 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)), Lb803_803), Va_1800_800), hAPP(val, option(val), some(val), Va801_801)))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa804_804)))) & ! [Hb805_805] :  (hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb805_805), Hb805_805))) & ! [X_b806_806, X_c807_807, X_a808_808, F_2809_809, G810_810] :  ((! [X_1811_811, Y_2812_812] :  (=(hAPP(X_b806_806, X_c807_807, hAPP(X_a808_808, fun(X_b806_806, X_c807_807), F_2809_809, X_1811_811), Y_2812_812), hAPP(product_prod(X_a808_808, X_b806_806), X_c807_807, G810_810, hAPP(X_b806_806, product_prod(X_a808_808, X_b806_806), hAPP(X_a808_808, fun(X_b806_806, product_prod(X_a808_808, X_b806_806)), product_Pair(X_a808_808, X_b806_806), X_1811_811), Y_2812_812)))) => =(hAPP(fun(X_a808_808, fun(X_b806_806, X_c807_807)), fun(product_prod(X_a808_808, X_b806_806), X_c807_807), product_prod_case(X_a808_808, X_b806_806, X_c807_807), F_2809_809), ti(fun(product_prod(X_a808_808, X_b806_806), X_c807_807), G810_810)))) & ! [X_a813_813, X_b814_814, A_4815_815, M816_816] :  ((hBOOL(hAPP(fun(X_a813_813, bool), bool, hAPP(X_a813_813, fun(fun(X_a813_813, bool), bool), member(X_a813_813), A_4815_815), hAPP(fun(X_a813_813, option(X_b814_814)), fun(X_a813_813, bool), dom(X_a813_813, X_b814_814), M816_816))) => ? [B_1817_817] :  (=(hAPP(X_a813_813, option(X_b814_814), M816_816, A_4815_815), hAPP(X_b814_814, option(X_b814_814), some(X_b814_814), B_1817_817))))) & ! [X_a818_818, X_b819_819, X_c820_820, Q_1821_821, Pa822_822, Z823_823] :  ((hBOOL(hAPP(X_a818_818, bool, Q_1821_821, hAPP(product_prod(X_b819_819, X_c820_820), X_a818_818, hAPP(fun(X_b819_819, fun(X_c820_820, X_a818_818)), fun(product_prod(X_b819_819, X_c820_820), X_a818_818), product_prod_case(X_b819_819, X_c820_820, X_a818_818), Pa822_822), Z823_823))) => ~! [X_1824_824, Y_2825_825] :  ((=(ti(product_prod(X_b819_819, X_c820_820), Z823_823), hAPP(X_c820_820, product_prod(X_b819_819, X_c820_820), hAPP(X_b819_819, fun(X_c820_820, product_prod(X_b819_819, X_c820_820)), product_Pair(X_b819_819, X_c820_820), X_1824_824), Y_2825_825)) => ~hBOOL(hAPP(X_a818_818, bool, Q_1821_821, hAPP(X_c820_820, X_a818_818, hAPP(X_b819_819, fun(X_c820_820, X_a818_818), Pa822_822, X_1824_824), Y_2825_825))))))) & ! [X_a826_826, X_c827_827, X_b828_828, Z829_829, C830_830, A_4831_831, B832_832] :  ((hBOOL(hAPP(fun(X_a826_826, bool), bool, hAPP(X_a826_826, fun(fun(X_a826_826, bool), bool), member(X_a826_826), Z829_829), hAPP(X_c827_827, fun(X_a826_826, bool), hAPP(X_b828_828, fun(X_c827_827, fun(X_a826_826, bool)), C830_830, A_4831_831), B832_832))) => hBOOL(hAPP(fun(X_a826_826, bool), bool, hAPP(X_a826_826, fun(fun(X_a826_826, bool), bool), member(X_a826_826), Z829_829), hAPP(product_prod(X_b828_828, X_c827_827), fun(X_a826_826, bool), hAPP(fun(X_b828_828, fun(X_c827_827, fun(X_a826_826, bool))), fun(product_prod(X_b828_828, X_c827_827), fun(X_a826_826, bool)), product_prod_case(X_b828_828, X_c827_827, fun(X_a826_826, bool)), C830_830), hAPP(X_c827_827, product_prod(X_b828_828, X_c827_827), hAPP(X_b828_828, fun(X_c827_827, product_prod(X_b828_828, X_c827_827)), product_Pair(X_b828_828, X_c827_827), A_4831_831), B832_832)))))) & ! [X_c833_833, X_a834_834, X_b835_835, R_2836_836, A_4837_837, B838_838, C839_839] :  ((hBOOL(hAPP(X_c833_833, bool, hAPP(product_prod(X_a834_834, X_b835_835), fun(X_c833_833, bool), hAPP(fun(X_a834_834, fun(X_b835_835, fun(X_c833_833, bool))), fun(product_prod(X_a834_834, X_b835_835), fun(X_c833_833, bool)), product_prod_case(X_a834_834, X_b835_835, fun(X_c833_833, bool)), R_2836_836), hAPP(X_b835_835, product_prod(X_a834_834, X_b835_835), hAPP(X_a834_834, fun(X_b835_835, product_prod(X_a834_834, X_b835_835)), product_Pair(X_a834_834, X_b835_835), A_4837_837), B838_838)), C839_839)) => hBOOL(hAPP(X_c833_833, bool, hAPP(X_b835_835, fun(X_c833_833, bool), hAPP(X_a834_834, fun(X_b835_835, fun(X_c833_833, bool)), R_2836_836, A_4837_837), B838_838), C839_839)))) & ! [Fs_2840_840, Hb841_841, A_4842_842, C_1843_843, Fs_1844_844] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb841_841, A_4842_842), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1843_843), Fs_1844_844))) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb841_841), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb841_841), A_4842_842), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1843_843), Fs_2840_840))))))) & ! [H_3845_845, Hb846_846, H_b847_847] :  ((hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb846_846), H_b847_847)) => (hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, H_b847_847), H_3845_845)) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb846_846), H_3845_845))))) & ! [H_b848_848, Pa849_849, Hb850_850, Ea851_851, Eb852_852, Ta853_853] :  ((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, Pa849_849), Hb850_850), Ea851_851), Eb852_852), Ta853_853)) => (hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb850_850), H_b848_848)) => 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, Pa849_849), H_b848_848), Ea851_851), Eb852_852), Ta853_853))))) & ! [A_4854_854, C_1855_855, Fs_1856_856, Hb857_857, H_b858_858] :  ((hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb857_857), H_b858_858)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb857_857, A_4854_854), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1855_855), Fs_1856_856))) => ? [Fs_3859_859] :  (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_b858_858, A_4854_854), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1855_855), Fs_3859_859))))))) & ! [X_c866_866, X_a867_867, X_b868_868, Z869_869, C870_870, P_1871_871] :  ((! [A_3872_872, B_1873_873] :  ((=(ti(product_prod(X_a867_867, X_b868_868), P_1871_871), hAPP(X_b868_868, product_prod(X_a867_867, X_b868_868), hAPP(X_a867_867, fun(X_b868_868, product_prod(X_a867_867, X_b868_868)), product_Pair(X_a867_867, X_b868_868), A_3872_872), B_1873_873)) => hBOOL(hAPP(fun(X_c866_866, bool), bool, hAPP(X_c866_866, fun(fun(X_c866_866, bool), bool), member(X_c866_866), Z869_869), hAPP(X_b868_868, fun(X_c866_866, bool), hAPP(X_a867_867, fun(X_b868_868, fun(X_c866_866, bool)), C870_870, A_3872_872), B_1873_873))))) => hBOOL(hAPP(fun(X_c866_866, bool), bool, hAPP(X_c866_866, fun(fun(X_c866_866, bool), bool), member(X_c866_866), Z869_869), hAPP(product_prod(X_a867_867, X_b868_868), fun(X_c866_866, bool), hAPP(fun(X_a867_867, fun(X_b868_868, fun(X_c866_866, bool))), fun(product_prod(X_a867_867, X_b868_868), fun(X_c866_866, bool)), product_prod_case(X_a867_867, X_b868_868, fun(X_c866_866, bool)), C870_870), P_1871_871))))) & ! [X_c874_874, X_b875_875, X_a876_876, C877_877, X_2878_878, P_1879_879] :  ((! [A_3880_880, B_1881_881] :  ((=(hAPP(X_b875_875, product_prod(X_a876_876, X_b875_875), hAPP(X_a876_876, fun(X_b875_875, product_prod(X_a876_876, X_b875_875)), product_Pair(X_a876_876, X_b875_875), A_3880_880), B_1881_881), ti(product_prod(X_a876_876, X_b875_875), P_1879_879)) => hBOOL(hAPP(X_c874_874, bool, hAPP(X_b875_875, fun(X_c874_874, bool), hAPP(X_a876_876, fun(X_b875_875, fun(X_c874_874, bool)), C877_877, A_3880_880), B_1881_881), X_2878_878)))) => hBOOL(hAPP(X_c874_874, bool, hAPP(product_prod(X_a876_876, X_b875_875), fun(X_c874_874, bool), hAPP(fun(X_a876_876, fun(X_b875_875, fun(X_c874_874, bool))), fun(product_prod(X_a876_876, X_b875_875), fun(X_c874_874, bool)), product_prod_case(X_a876_876, X_b875_875, fun(X_c874_874, bool)), C877_877), P_1879_879), X_2878_878)))) & ! [X_a882_882, X_b883_883, X_c884_884, Z885_885, C886_886, P_1887_887] :  ((hBOOL(hAPP(fun(X_a882_882, bool), bool, hAPP(X_a882_882, fun(fun(X_a882_882, bool), bool), member(X_a882_882), Z885_885), hAPP(product_prod(X_b883_883, X_c884_884), fun(X_a882_882, bool), hAPP(fun(X_b883_883, fun(X_c884_884, fun(X_a882_882, bool))), fun(product_prod(X_b883_883, X_c884_884), fun(X_a882_882, bool)), product_prod_case(X_b883_883, X_c884_884, fun(X_a882_882, bool)), C886_886), P_1887_887))) => ~! [X_1888_888, Y_2889_889] :  ((=(ti(product_prod(X_b883_883, X_c884_884), P_1887_887), hAPP(X_c884_884, product_prod(X_b883_883, X_c884_884), hAPP(X_b883_883, fun(X_c884_884, product_prod(X_b883_883, X_c884_884)), product_Pair(X_b883_883, X_c884_884), X_1888_888), Y_2889_889)) => ~hBOOL(hAPP(fun(X_a882_882, bool), bool, hAPP(X_a882_882, fun(fun(X_a882_882, bool), bool), member(X_a882_882), Z885_885), hAPP(X_c884_884, fun(X_a882_882, bool), hAPP(X_b883_883, fun(X_c884_884, fun(X_a882_882, bool)), C886_886, X_1888_888), Y_2889_889))))))) & ! [X_c890_890, X_a891_891, X_b892_892, C893_893, P_1894_894, Z895_895] :  ((hBOOL(hAPP(X_c890_890, bool, hAPP(product_prod(X_a891_891, X_b892_892), fun(X_c890_890, bool), hAPP(fun(X_a891_891, fun(X_b892_892, fun(X_c890_890, bool))), fun(product_prod(X_a891_891, X_b892_892), fun(X_c890_890, bool)), product_prod_case(X_a891_891, X_b892_892, fun(X_c890_890, bool)), C893_893), P_1894_894), Z895_895)) => ~! [X_1896_896, Y_2897_897] :  ((=(ti(product_prod(X_a891_891, X_b892_892), P_1894_894), hAPP(X_b892_892, product_prod(X_a891_891, X_b892_892), hAPP(X_a891_891, fun(X_b892_892, product_prod(X_a891_891, X_b892_892)), product_Pair(X_a891_891, X_b892_892), X_1896_896), Y_2897_897)) => ~hBOOL(hAPP(X_c890_890, bool, hAPP(X_b892_892, fun(X_c890_890, bool), hAPP(X_a891_891, fun(X_b892_892, fun(X_c890_890, bool)), C893_893, X_1896_896), Y_2897_897), Z895_895)))))) & ! [X_a898_898, Va_1899_899, Eb900_900, A_5901_901] :  ((hBOOL(hAPP(option(fun(X_a898_898, bool)), bool, hAPP(exp(X_a898_898), fun(option(fun(X_a898_898, bool)), bool), d(X_a898_898), hAPP(exp(X_a898_898), exp(X_a898_898), hAPP(X_a898_898, fun(exp(X_a898_898), exp(X_a898_898)), lAss(X_a898_898), Va_1899_899), Eb900_900)), A_5901_901)) <=> hBOOL(hAPP(option(fun(X_a898_898, bool)), bool, hAPP(exp(X_a898_898), fun(option(fun(X_a898_898, bool)), bool), d(X_a898_898), Eb900_900), A_5901_901)))) & ! [X_a902_902, A_1903_903, Ty_1904_904, Exp_1905_905, A_2906_906, Exp907_907] :  (~=(hAPP(exp(X_a902_902), exp(X_a902_902), hAPP(ty, fun(exp(X_a902_902), exp(X_a902_902)), hAPP(X_a902_902, fun(ty, fun(exp(X_a902_902), exp(X_a902_902))), block(X_a902_902), A_1903_903), Ty_1904_904), Exp_1905_905), hAPP(exp(X_a902_902), exp(X_a902_902), hAPP(X_a902_902, fun(exp(X_a902_902), exp(X_a902_902)), lAss(X_a902_902), A_2906_906), Exp907_907))) & ! [X_a908_908, Val_3909_909, Val_2910_910] :  ((=(hAPP(val, exp(X_a908_908), val_1(X_a908_908), Val_3909_909), hAPP(val, exp(X_a908_908), val_1(X_a908_908), Val_2910_910)) <=> =(Val_3909_909, Val_2910_910))) & ! [X_a911_911, Exp1_3912_912, Exp2_3913_913, Exp1_2914_914, Exp2_2915_915] :  ((=(hAPP(exp(X_a911_911), exp(X_a911_911), hAPP(exp(X_a911_911), fun(exp(X_a911_911), exp(X_a911_911)), seq(X_a911_911), Exp1_3912_912), Exp2_3913_913), hAPP(exp(X_a911_911), exp(X_a911_911), hAPP(exp(X_a911_911), fun(exp(X_a911_911), exp(X_a911_911)), seq(X_a911_911), Exp1_2914_914), Exp2_2915_915)) <=> (=(Exp1_3912_912, Exp1_2914_914) & =(Exp2_3913_913, Exp2_2915_915)))) & ! [X_a916_916, A_4917_917, Exp_3918_918, A_6919_919, Exp_2920_920] :  ((=(hAPP(exp(X_a916_916), exp(X_a916_916), hAPP(X_a916_916, fun(exp(X_a916_916), exp(X_a916_916)), lAss(X_a916_916), A_4917_917), Exp_3918_918), hAPP(exp(X_a916_916), exp(X_a916_916), hAPP(X_a916_916, fun(exp(X_a916_916), exp(X_a916_916)), lAss(X_a916_916), A_6919_919), Exp_2920_920)) <=> (=(ti(X_a916_916, A_4917_917), ti(X_a916_916, A_6919_919)) & =(Exp_3918_918, Exp_2920_920)))) & ! [X_a921_921, A_4922_922, Ty_3923_923, Exp_3924_924, A_6925_925, Ty_2926_926, Exp_2927_927] :  ((=(hAPP(exp(X_a921_921), exp(X_a921_921), hAPP(ty, fun(exp(X_a921_921), exp(X_a921_921)), hAPP(X_a921_921, fun(ty, fun(exp(X_a921_921), exp(X_a921_921))), block(X_a921_921), A_4922_922), Ty_3923_923), Exp_3924_924), hAPP(exp(X_a921_921), exp(X_a921_921), hAPP(ty, fun(exp(X_a921_921), exp(X_a921_921)), hAPP(X_a921_921, fun(ty, fun(exp(X_a921_921), exp(X_a921_921))), block(X_a921_921), A_6925_925), Ty_2926_926), Exp_2927_927)) <=> ((=(ti(X_a921_921, A_4922_922), ti(X_a921_921, A_6925_925)) & =(Ty_3923_923, Ty_2926_926)) & =(Exp_3924_924, Exp_2927_927)))) & ! [X_a928_928, Val929_929, Exp1_1930_930, Exp2_1931_931] :  (~=(hAPP(val, exp(X_a928_928), val_1(X_a928_928), Val929_929), hAPP(exp(X_a928_928), exp(X_a928_928), hAPP(exp(X_a928_928), fun(exp(X_a928_928), exp(X_a928_928)), seq(X_a928_928), Exp1_1930_930), Exp2_1931_931))) & ! [X_a932_932, Val933_933, A_1934_934, Exp_1935_935] :  (~=(hAPP(val, exp(X_a932_932), val_1(X_a932_932), Val933_933), hAPP(exp(X_a932_932), exp(X_a932_932), hAPP(X_a932_932, fun(exp(X_a932_932), exp(X_a932_932)), lAss(X_a932_932), A_1934_934), Exp_1935_935))) & ! [X_a936_936, Exp1_1937_937, Exp2_1938_938, Val939_939] :  (~=(hAPP(exp(X_a936_936), exp(X_a936_936), hAPP(exp(X_a936_936), fun(exp(X_a936_936), exp(X_a936_936)), seq(X_a936_936), Exp1_1937_937), Exp2_1938_938), hAPP(val, exp(X_a936_936), val_1(X_a936_936), Val939_939))) & ! [X_a940_940, A_1941_941, Exp_1942_942, Val943_943] :  (~=(hAPP(exp(X_a940_940), exp(X_a940_940), hAPP(X_a940_940, fun(exp(X_a940_940), exp(X_a940_940)), lAss(X_a940_940), A_1941_941), Exp_1942_942), hAPP(val, exp(X_a940_940), val_1(X_a940_940), Val943_943))) & ! [X_a944_944, Val945_945, A_1946_946, Ty_1947_947, Exp_1948_948] :  (~=(hAPP(val, exp(X_a944_944), val_1(X_a944_944), Val945_945), hAPP(exp(X_a944_944), exp(X_a944_944), hAPP(ty, fun(exp(X_a944_944), exp(X_a944_944)), hAPP(X_a944_944, fun(ty, fun(exp(X_a944_944), exp(X_a944_944))), block(X_a944_944), A_1946_946), Ty_1947_947), Exp_1948_948))) & ! [X_a949_949, A_1950_950, Ty_1951_951, Exp_1952_952, Val953_953] :  (~=(hAPP(exp(X_a949_949), exp(X_a949_949), hAPP(ty, fun(exp(X_a949_949), exp(X_a949_949)), hAPP(X_a949_949, fun(ty, fun(exp(X_a949_949), exp(X_a949_949))), block(X_a949_949), A_1950_950), Ty_1951_951), Exp_1952_952), hAPP(val, exp(X_a949_949), val_1(X_a949_949), Val953_953))) & ! [X_a954_954, Va955_955, A_5956_956] :  (hBOOL(hAPP(option(fun(X_a954_954, bool)), bool, hAPP(exp(X_a954_954), fun(option(fun(X_a954_954, bool)), bool), d(X_a954_954), hAPP(val, exp(X_a954_954), val_1(X_a954_954), Va955_955)), A_5956_956))) & ! [X_a957_957, Exp1_1958_958, Exp2_1959_959, A_2960_960, Exp961_961] :  (~=(hAPP(exp(X_a957_957), exp(X_a957_957), hAPP(exp(X_a957_957), fun(exp(X_a957_957), exp(X_a957_957)), seq(X_a957_957), Exp1_1958_958), Exp2_1959_959), hAPP(exp(X_a957_957), exp(X_a957_957), hAPP(X_a957_957, fun(exp(X_a957_957), exp(X_a957_957)), lAss(X_a957_957), A_2960_960), Exp961_961))) & ! [X_a962_962, A_2963_963, Exp964_964, Exp1_1965_965, Exp2_1966_966] :  (~=(hAPP(exp(X_a962_962), exp(X_a962_962), hAPP(X_a962_962, fun(exp(X_a962_962), exp(X_a962_962)), lAss(X_a962_962), A_2963_963), Exp964_964), hAPP(exp(X_a962_962), exp(X_a962_962), hAPP(exp(X_a962_962), fun(exp(X_a962_962), exp(X_a962_962)), seq(X_a962_962), Exp1_1965_965), Exp2_1966_966))) & ! [X_a967_967, Exp1_1968_968, Exp2_1969_969, A_2970_970, Ty971_971, Exp972_972] :  (~=(hAPP(exp(X_a967_967), exp(X_a967_967), hAPP(exp(X_a967_967), fun(exp(X_a967_967), exp(X_a967_967)), seq(X_a967_967), Exp1_1968_968), Exp2_1969_969), hAPP(exp(X_a967_967), exp(X_a967_967), hAPP(ty, fun(exp(X_a967_967), exp(X_a967_967)), hAPP(X_a967_967, fun(ty, fun(exp(X_a967_967), exp(X_a967_967))), block(X_a967_967), A_2970_970), Ty971_971), Exp972_972))) & ! [X_a973_973, A_2974_974, Exp975_975, A_1976_976, Ty_1977_977, Exp_1978_978] :  (~=(hAPP(exp(X_a973_973), exp(X_a973_973), hAPP(X_a973_973, fun(exp(X_a973_973), exp(X_a973_973)), lAss(X_a973_973), A_2974_974), Exp975_975), hAPP(exp(X_a973_973), exp(X_a973_973), hAPP(ty, fun(exp(X_a973_973), exp(X_a973_973)), hAPP(X_a973_973, fun(ty, fun(exp(X_a973_973), exp(X_a973_973))), block(X_a973_973), A_1976_976), Ty_1977_977), Exp_1978_978))) & ! [X_a979_979, A_2980_980, Ty981_981, Exp982_982, Exp1_1983_983, Exp2_1984_984] :  (~=(hAPP(exp(X_a979_979), exp(X_a979_979), hAPP(ty, fun(exp(X_a979_979), exp(X_a979_979)), hAPP(X_a979_979, fun(ty, fun(exp(X_a979_979), exp(X_a979_979))), block(X_a979_979), A_2980_980), Ty981_981), Exp982_982), hAPP(exp(X_a979_979), exp(X_a979_979), hAPP(exp(X_a979_979), fun(exp(X_a979_979), exp(X_a979_979)), seq(X_a979_979), Exp1_1983_983), Exp2_1984_984))) & ! [X_a985_985, Fs_2986_986, A_4987_987, C_1988_988, Fs_1989_989, Pa990_990, Hb991_991] :  ((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, X_a985_985)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hconf(X_a985_985), Pa990_990), Hb991_991)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb991_991, A_4987_987), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1988_988), Fs_1989_989))) => (hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a985_985)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a985_985), Pa990_990), Hb991_991), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1988_988), Fs_2986_986))) => 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, X_a985_985)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hconf(X_a985_985), Pa990_990), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb991_991), A_4987_987), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1988_988), Fs_2986_986))))))))) & ! [Ta992_992, V_a993_993, Pa994_994, Eb995_995, Hb996_996, Lb997_997, Va_1998_998, Va999_999, E_b1000_1000, H_b1001_1001, L_b1002_1002] :  ((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, Pa994_994), Eb995_995), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb996_996), 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)), Lb997_997), Va_1998_998), hAPP(val, option(val), some(val), Va999_999)))), E_b1000_1000), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1001_1001), L_b1002_1002))) => (=(hAPP(list(char), option(val), L_b1002_1002, Va_1998_998), hAPP(val, option(val), some(val), V_a993_993)) => 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, Pa994_994), 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)), Va_1998_998), Ta992_992), 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)), Va_1998_998), hAPP(val, exp(list(char)), val_1(list(char)), Va999_999))), Eb995_995))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb996_996), Lb997_997)), 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)), Va_1998_998), Ta992_992), 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)), Va_1998_998), hAPP(val, exp(list(char)), val_1(list(char)), V_a993_993))), E_b1000_1000))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1001_1001), 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)), L_b1002_1002), Va_1998_998), hAPP(list(char), option(val), Lb997_997, Va_1998_998)))))))) & ! [Ta1003_1003, Va1004_1004, Eb1005_1005, Hb1006_1006, Lb1007_1007, Va_11008_1008, E_b1009_1009, H_b1010_1010, L_b1011_1011, Pa1012_1012] :  ((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)))), Eb1005_1005), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1006_1006), 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)), Lb1007_1007), Va_11008_1008), 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)))), E_b1009_1009), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1010_1010), L_b1011_1011)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1012_1012))) => (=(hAPP(list(char), option(val), L_b1011_1011, Va_11008_1008), hAPP(val, option(val), some(val), Va1004_1004)) => (~hBOOL(hAPP(exp(list(char)), bool, hAPP(list(char), fun(exp(list(char)), bool), assigned, Va_11008_1008), Eb1005_1005)) => 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)), Va_11008_1008), Ta1003_1003), Eb1005_1005)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1006_1006), Lb1007_1007))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_11008_1008), Ta1003_1003), 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)), Va_11008_1008), hAPP(val, exp(list(char)), val_1(list(char)), Va1004_1004))), E_b1009_1009))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1010_1010), 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)), L_b1011_1011), Va_11008_1008), hAPP(list(char), option(val), Lb1007_1007, Va_11008_1008)))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1012_1012))))))) & ! [Pa1013_1013, Hb1014_1014, Eb1015_1015, T_a1016_1016, Ea1017_1017, Va_11018_1018, Ta1019_1019] :  ((=(hAPP(list(char), option(ty), Ea1017_1017, Va_11018_1018), hAPP(ty, option(ty), some(ty), Ta1019_1019)) => (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, Pa1013_1013), Hb1014_1014), Ea1017_1017), Eb1015_1015), T_a1016_1016)) => (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)))), Pa1013_1013), T_a1016_1016), Ta1019_1019)) => 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, Pa1013_1013), Hb1014_1014), Ea1017_1017), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11018_1018), Eb1015_1015)), void)))))) & ! [Va_11020_1020, Eb1021_1021, S_21022_1022, Va1023_1023, H_b1024_1024, L_b1025_1025, Pa1026_1026] :  ((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)))), Eb1021_1021), S_21022_1022)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va1023_1023)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1024_1024), L_b1025_1025)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1026_1026)))) => 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)), Va_11020_1020), Eb1021_1021)), S_21022_1022)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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))), H_b1024_1024), 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)), L_b1025_1025), Va_11020_1020), hAPP(val, option(val), some(val), Va1023_1023)))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1026_1026)))))) & ! [H_b1027_1027, Hb1028_1028] :  ((! [A_31029_1029, C_21030_1030, Fs1031_1031] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1028_1028, A_31029_1029), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_21030_1030), Fs1031_1031))) => ? [Fs_31032_1032] :  (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_b1027_1027, A_31029_1029), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_21030_1030), Fs_31032_1032)))))) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb1028_1028), H_b1027_1027)))) & ! [Pa1033_1033, Va_11034_1034, Va1035_1035, Hb1036_1036, Lb1037_1037] :  (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, Pa1033_1033), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11034_1034), hAPP(val, exp(list(char)), val_1(list(char)), Va1035_1035))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1036_1036), Lb1037_1037)), 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))), Hb1036_1036), 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)), Lb1037_1037), Va_11034_1034), hAPP(val, option(val), some(val), Va1035_1035)))))) & ! [X_a1038_1038, Pa1039_1039, Hb1040_1040, Ea1041_1041] :  (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, X_a1038_1038)))))))), 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(X_a1038_1038), Pa1039_1039), Hb1040_1040), hAPP(option(val), fun(list(char), option(val)), combk(option(val), list(char)), none(val))), Ea1041_1041))) & ! [X_a1042_1042, A_11043_1043] :  (~=(none(X_a1042_1042), hAPP(X_a1042_1042, option(X_a1042_1042), some(X_a1042_1042), A_11043_1043))) & ! [X_a1044_1044, A_11045_1045] :  (~=(hAPP(X_a1044_1044, option(X_a1044_1044), some(X_a1044_1044), A_11045_1045), none(X_a1044_1044))) & ! [X_a1046_1046, X_21047_1047] :  ((! [Y_21048_1048] :  (~=(ti(option(X_a1046_1046), X_21047_1047), hAPP(X_a1046_1046, option(X_a1046_1046), some(X_a1046_1046), Y_21048_1048))) <=> =(ti(option(X_a1046_1046), X_21047_1047), none(X_a1046_1046)))) & ! [X_a1049_1049, X_21050_1050] :  ((~=(ti(option(X_a1049_1049), X_21050_1050), none(X_a1049_1049)) <=> ? [Y_21051_1051] :  (=(ti(option(X_a1049_1049), X_21050_1050), hAPP(X_a1049_1049, option(X_a1049_1049), some(X_a1049_1049), Y_21051_1051))))) & ! [Va_11052_1052, Pa1053_1053, Eb1054_1054, S_21055_1055, E_b1056_1056, S1057_1057] :  ((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, Pa1053_1053), Eb1054_1054), S_21055_1055), E_b1056_1056), S1057_1057)) => 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, Pa1053_1053), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11052_1052), Eb1054_1054)), S_21055_1055), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11052_1052), E_b1056_1056)), S1057_1057)))) & ! [E_21058_1058, Pa1059_1059, Eb1060_1060, S_21061_1061, E_b1062_1062, S1063_1063] :  ((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, Pa1059_1059), Eb1060_1060), S_21061_1061), E_b1062_1062), S1063_1063)) => 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, Pa1059_1059), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), Eb1060_1060), E_21058_1058)), S_21061_1061), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), E_b1062_1062), E_21058_1058)), S1063_1063)))) & ! [X_a1064_1064, X_b1065_1065, M1066_1066] :  (=(hAPP(fun(X_a1064_1064, option(X_b1065_1065)), fun(X_a1064_1064, bool), dom(X_a1064_1064, X_b1065_1065), M1066_1066), hAPP(fun(X_a1064_1064, bool), fun(X_a1064_1064, bool), collect(X_a1064_1064), hAPP(fun(X_a1064_1064, bool), fun(X_a1064_1064, bool), hAPP(fun(bool, bool), fun(fun(X_a1064_1064, bool), fun(X_a1064_1064, bool)), combb(bool, bool, X_a1064_1064), fNot), hAPP(option(X_b1065_1065), fun(X_a1064_1064, bool), hAPP(fun(X_a1064_1064, fun(option(X_b1065_1065), bool)), fun(option(X_b1065_1065), fun(X_a1064_1064, bool)), combc(X_a1064_1064, option(X_b1065_1065), bool), hAPP(fun(X_a1064_1064, option(X_b1065_1065)), fun(X_a1064_1064, fun(option(X_b1065_1065), bool)), hAPP(fun(option(X_b1065_1065), fun(option(X_b1065_1065), bool)), fun(fun(X_a1064_1064, option(X_b1065_1065)), fun(X_a1064_1064, fun(option(X_b1065_1065), bool))), combb(option(X_b1065_1065), fun(option(X_b1065_1065), bool), X_a1064_1064), fequal(option(X_b1065_1065))), M1066_1066)), none(X_b1065_1065)))))) & ! [X_a1067_1067, X_b1068_1068, A_41069_1069, M1070_1070] :  ((hBOOL(hAPP(fun(X_a1067_1067, bool), bool, hAPP(X_a1067_1067, fun(fun(X_a1067_1067, bool), bool), member(X_a1067_1067), A_41069_1069), hAPP(fun(X_a1067_1067, option(X_b1068_1068)), fun(X_a1067_1067, bool), dom(X_a1067_1067, X_b1068_1068), M1070_1070))) <=> ~=(hAPP(X_a1067_1067, option(X_b1068_1068), M1070_1070, A_41069_1069), none(X_b1068_1068)))) & ! [Ta1071_1071, Pa1072_1072, Eb1073_1073, Hb1074_1074, Lb1075_1075, Va_11076_1076, E_b1077_1077, H_b1078_1078, L_b1079_1079] :  ((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, Pa1072_1072), Eb1073_1073), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1074_1074), 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)), Lb1075_1075), Va_11076_1076), none(val)))), E_b1077_1077), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1078_1078), L_b1079_1079))) => (=(hAPP(list(char), option(val), L_b1079_1079, Va_11076_1076), none(val)) => (~hBOOL(hAPP(exp(list(char)), bool, hAPP(list(char), fun(exp(list(char)), bool), assigned, Va_11076_1076), Eb1073_1073)) => 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, Pa1072_1072), 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)), Va_11076_1076), Ta1071_1071), Eb1073_1073)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1074_1074), Lb1075_1075)), 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)), Va_11076_1076), Ta1071_1071), E_b1077_1077)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1078_1078), 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)), L_b1079_1079), Va_11076_1076), hAPP(list(char), option(val), Lb1075_1075, Va_11076_1076))))))))) & ! [X_b1080_1080, X_a1081_1081, M1082_1082, N1083_1083, K1084_1084] :  ((=(hAPP(X_b1080_1080, option(X_a1081_1081), hAPP(fun(X_b1080_1080, option(X_a1081_1081)), fun(X_b1080_1080, option(X_a1081_1081)), hAPP(fun(X_b1080_1080, option(X_a1081_1081)), fun(fun(X_b1080_1080, option(X_a1081_1081)), fun(X_b1080_1080, option(X_a1081_1081))), map_add(X_b1080_1080, X_a1081_1081), M1082_1082), N1083_1083), K1084_1084), none(X_a1081_1081)) <=> (=(hAPP(X_b1080_1080, option(X_a1081_1081), N1083_1083, K1084_1084), none(X_a1081_1081)) & =(hAPP(X_b1080_1080, option(X_a1081_1081), M1082_1082, K1084_1084), none(X_a1081_1081))))) & ! [X_a1085_1085, X_b1086_1086, X_21087_1087, X_11088_1088] :  (=(hAPP(X_a1085_1085, option(X_b1086_1086), hAPP(option(X_b1086_1086), fun(X_a1085_1085, option(X_b1086_1086)), hAPP(X_a1085_1085, fun(option(X_b1086_1086), fun(X_a1085_1085, option(X_b1086_1086))), hAPP(fun(X_a1085_1085, option(X_b1086_1086)), fun(X_a1085_1085, fun(option(X_b1086_1086), fun(X_a1085_1085, option(X_b1086_1086)))), fun_upd(X_a1085_1085, option(X_b1086_1086)), hAPP(option(X_b1086_1086), fun(X_a1085_1085, option(X_b1086_1086)), combk(option(X_b1086_1086), X_a1085_1085), none(X_b1086_1086))), X_21087_1087), none(X_b1086_1086)), X_11088_1088), none(X_b1086_1086))) & ! [X_a1089_1089, X_b1090_1090, M1091_1091] :  (=(hAPP(fun(X_a1089_1089, option(X_b1090_1090)), fun(X_a1089_1089, option(X_b1090_1090)), hAPP(fun(X_a1089_1089, option(X_b1090_1090)), fun(fun(X_a1089_1089, option(X_b1090_1090)), fun(X_a1089_1089, option(X_b1090_1090))), map_add(X_a1089_1089, X_b1090_1090), M1091_1091), hAPP(option(X_b1090_1090), fun(X_a1089_1089, option(X_b1090_1090)), combk(option(X_b1090_1090), X_a1089_1089), none(X_b1090_1090))), ti(fun(X_a1089_1089, option(X_b1090_1090)), M1091_1091))) & ! [X_a1092_1092, X_b1093_1093, M1094_1094] :  (=(hAPP(fun(X_a1092_1092, option(X_b1093_1093)), fun(X_a1092_1092, option(X_b1093_1093)), hAPP(fun(X_a1092_1092, option(X_b1093_1093)), fun(fun(X_a1092_1092, option(X_b1093_1093)), fun(X_a1092_1092, option(X_b1093_1093))), map_add(X_a1092_1092, X_b1093_1093), hAPP(option(X_b1093_1093), fun(X_a1092_1092, option(X_b1093_1093)), combk(option(X_b1093_1093), X_a1092_1092), none(X_b1093_1093))), M1094_1094), ti(fun(X_a1092_1092, option(X_b1093_1093)), M1094_1094))) & ! [Pa1095_1095, Va1096_1096, E_21097_1097, S_21098_1098] :  (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, Pa1095_1095), 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)), Va1096_1096)), E_21097_1097)), S_21098_1098), E_21097_1097), S_21098_1098))) & ! [X_a1099_1099, X_b1100_1100, T_51101_1101, K1102_1102, X_21103_1103] :  (~! [X_11104_1104] :  (=(hAPP(X_a1099_1099, option(X_b1100_1100), hAPP(option(X_b1100_1100), fun(X_a1099_1099, option(X_b1100_1100)), hAPP(X_a1099_1099, fun(option(X_b1100_1100), fun(X_a1099_1099, option(X_b1100_1100))), hAPP(fun(X_a1099_1099, option(X_b1100_1100)), fun(X_a1099_1099, fun(option(X_b1100_1100), fun(X_a1099_1099, option(X_b1100_1100)))), fun_upd(X_a1099_1099, option(X_b1100_1100)), T_51101_1101), K1102_1102), hAPP(X_b1100_1100, option(X_b1100_1100), some(X_b1100_1100), X_21103_1103)), X_11104_1104), none(X_b1100_1100)))) & ! [Pa1105_1105, Va_11106_1106, Ta1107_1107, U1108_1108, S_21109_1109] :  (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, Pa1105_1105), 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)), Va_11106_1106), Ta1107_1107), hAPP(val, exp(list(char)), val_1(list(char)), U1108_1108))), S_21109_1109), hAPP(val, exp(list(char)), val_1(list(char)), U1108_1108)), S_21109_1109))) & ! [X_a1110_1110, H_b1111_1111, Pa1112_1112, Hb1113_1113, Obj1114_1114] :  ((hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1110_1110)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1110_1110), Pa1112_1112), Hb1113_1113), Obj1114_1114)) => (hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb1113_1113), H_b1111_1111)) => hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1110_1110)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1110_1110), Pa1112_1112), H_b1111_1111), Obj1114_1114))))) & ! [X_b1115_1115, X_a1116_1116, M1117_1117, N1118_1118, K1119_1119, X_21120_1120] :  ((=(hAPP(X_b1115_1115, option(X_a1116_1116), hAPP(fun(X_b1115_1115, option(X_a1116_1116)), fun(X_b1115_1115, option(X_a1116_1116)), hAPP(fun(X_b1115_1115, option(X_a1116_1116)), fun(fun(X_b1115_1115, option(X_a1116_1116)), fun(X_b1115_1115, option(X_a1116_1116))), map_add(X_b1115_1115, X_a1116_1116), M1117_1117), N1118_1118), K1119_1119), hAPP(X_a1116_1116, option(X_a1116_1116), some(X_a1116_1116), X_21120_1120)) => (=(hAPP(X_b1115_1115, option(X_a1116_1116), N1118_1118, K1119_1119), hAPP(X_a1116_1116, option(X_a1116_1116), some(X_a1116_1116), X_21120_1120)) | (=(hAPP(X_b1115_1115, option(X_a1116_1116), N1118_1118, K1119_1119), none(X_a1116_1116)) & =(hAPP(X_b1115_1115, option(X_a1116_1116), M1117_1117, K1119_1119), hAPP(X_a1116_1116, option(X_a1116_1116), some(X_a1116_1116), X_21120_1120)))))) & ! [X_b1121_1121, X_a1122_1122, M1123_1123, N1124_1124, K1125_1125, X_21126_1126] :  ((=(hAPP(X_b1121_1121, option(X_a1122_1122), hAPP(fun(X_b1121_1121, option(X_a1122_1122)), fun(X_b1121_1121, option(X_a1122_1122)), hAPP(fun(X_b1121_1121, option(X_a1122_1122)), fun(fun(X_b1121_1121, option(X_a1122_1122)), fun(X_b1121_1121, option(X_a1122_1122))), map_add(X_b1121_1121, X_a1122_1122), M1123_1123), N1124_1124), K1125_1125), hAPP(X_a1122_1122, option(X_a1122_1122), some(X_a1122_1122), X_21126_1126)) <=> (=(hAPP(X_b1121_1121, option(X_a1122_1122), N1124_1124, K1125_1125), hAPP(X_a1122_1122, option(X_a1122_1122), some(X_a1122_1122), X_21126_1126)) | (=(hAPP(X_b1121_1121, option(X_a1122_1122), N1124_1124, K1125_1125), none(X_a1122_1122)) & =(hAPP(X_b1121_1121, option(X_a1122_1122), M1123_1123, K1125_1125), hAPP(X_a1122_1122, option(X_a1122_1122), some(X_a1122_1122), X_21126_1126)))))) & ! [E_21127_1127, Eb1128_1128, S_21129_1129, E_b1130_1130, S1131_1131, Pa1132_1132] :  ((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)))), Eb1128_1128), S_21129_1129)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1130_1130), S1131_1131))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1132_1132)))) => 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)), Eb1128_1128), E_21127_1127)), S_21129_1129)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), E_b1130_1130), E_21127_1127)), S1131_1131))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1132_1132)))))) & ! [Va_11133_1133, Eb1134_1134, S_21135_1135, E_b1136_1136, S1137_1137, Pa1138_1138] :  ((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)))), Eb1134_1134), S_21135_1135)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1136_1136), S1137_1137))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1138_1138)))) => 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)), Va_11133_1133), Eb1134_1134)), S_21135_1135)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_11133_1133), E_b1136_1136)), S1137_1137))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1138_1138)))))) & ! [Ta1139_1139, Va1140_1140, Pa1141_1141, Eb1142_1142, Hb1143_1143, Lb1144_1144, Va_11145_1145, E_b1146_1146, H_b1147_1147, L_b1148_1148] :  ((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, Pa1141_1141), Eb1142_1142), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1143_1143), 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)), Lb1144_1144), Va_11145_1145), none(val)))), E_b1146_1146), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1147_1147), L_b1148_1148))) => (=(hAPP(list(char), option(val), L_b1148_1148, Va_11145_1145), hAPP(val, option(val), some(val), Va1140_1140)) => (~hBOOL(hAPP(exp(list(char)), bool, hAPP(list(char), fun(exp(list(char)), bool), assigned, Va_11145_1145), Eb1142_1142)) => 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, Pa1141_1141), 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)), Va_11145_1145), Ta1139_1139), Eb1142_1142)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1143_1143), Lb1144_1144)), 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)), Va_11145_1145), Ta1139_1139), 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)), Va_11145_1145), hAPP(val, exp(list(char)), val_1(list(char)), Va1140_1140))), E_b1146_1146))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1147_1147), 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)), L_b1148_1148), Va_11145_1145), hAPP(list(char), option(val), Lb1144_1144, Va_11145_1145))))))))) & ! [E_21149_1149, E_2_11150_1150, S_2_11151_1151, E_11152_1152, S_01153_1153, V_11154_1154, S_11155_1155, Pa1156_1156] :  ((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)))), E_11152_1152), S_01153_1153)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), V_11154_1154)), S_11155_1155))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1156_1156)))) => (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)))), E_21149_1149), S_11155_1155)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_2_11150_1150), S_2_11151_1151))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1156_1156)))) => 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)), E_11152_1152), E_21149_1149)), S_01153_1153)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_2_11150_1150), S_2_11151_1151))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1156_1156))))))) & ! [Pa1157_1157, X_11158_1158, Xa1159_1159, Xb_11160_1160, Xc1161_1161] :  ((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, Pa1157_1157), X_11158_1158), Xa1159_1159), Xb_11160_1160), Xc1161_1161)) <=> 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)))), X_11158_1158), Xa1159_1159)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), Xb_11160_1160), Xc1161_1161))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1157_1157))))) & ! [X_a1162_1162, A_41163_1163, Obj1164_1164, Pa1165_1165, Hb1166_1166] :  ((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, X_a1162_1162)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hconf(X_a1162_1162), Pa1165_1165), Hb1166_1166)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1166_1166, A_41163_1163), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Obj1164_1164)) => hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1162_1162)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1162_1162), Pa1165_1165), Hb1166_1166), Obj1164_1164))))) & ! [Pa1167_1167, Va_11168_1168, Ta1169_1169, Va1170_1170, U1171_1171, S_21172_1172] :  (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, Pa1167_1167), 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)), Va_11168_1168), Ta1169_1169), 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)), Va_11168_1168), hAPP(val, exp(list(char)), val_1(list(char)), Va1170_1170))), hAPP(val, exp(list(char)), val_1(list(char)), U1171_1171)))), S_21172_1172), hAPP(val, exp(list(char)), val_1(list(char)), U1171_1171)), S_21172_1172))) & ! [Ta1173_1173, Eb1174_1174, Hb1175_1175, Lb1176_1176, Va_11177_1177, E_b1178_1178, H_b1179_1179, L_b1180_1180, Pa1181_1181] :  ((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)))), Eb1174_1174), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1175_1175), 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)), Lb1176_1176), Va_11177_1177), 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)))), E_b1178_1178), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1179_1179), L_b1180_1180)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1181_1181))) => (=(hAPP(list(char), option(val), L_b1180_1180, Va_11177_1177), none(val)) => (~hBOOL(hAPP(exp(list(char)), bool, hAPP(list(char), fun(exp(list(char)), bool), assigned, Va_11177_1177), Eb1174_1174)) => 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)), Va_11177_1177), Ta1173_1173), Eb1174_1174)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1175_1175), Lb1176_1176))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_11177_1177), Ta1173_1173), E_b1178_1178)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1179_1179), 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)), L_b1180_1180), Va_11177_1177), hAPP(list(char), option(val), Lb1176_1176, Va_11177_1177)))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1181_1181))))))) & ! [L_0_11182_1182, Eb1183_1183, Hb1184_1184, Lb1185_1185, E_b1186_1186, H_b1187_1187, L_b1188_1188, Pa1189_1189] :  ((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)))), Eb1183_1183), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1184_1184), Lb1185_1185))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1186_1186), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1187_1187), L_b1188_1188)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1189_1189)))) => 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)))), Eb1183_1183), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1184_1184), hAPP(fun(list(char), option(val)), fun(list(char), option(val)), hAPP(fun(list(char), option(val)), fun(fun(list(char), option(val)), fun(list(char), option(val))), map_add(list(char), val), L_0_11182_1182), Lb1185_1185)))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1186_1186), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1187_1187), hAPP(fun(list(char), option(val)), fun(list(char), option(val)), hAPP(fun(list(char), option(val)), fun(fun(list(char), option(val)), fun(list(char), option(val))), map_add(list(char), val), L_0_11182_1182), L_b1188_1188))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1189_1189)))))) & ! [X_a1190_1190, Fs_21191_1191, A_41192_1192, C_11193_1193, Fs_11194_1194, Pa1195_1195, Hb1196_1196, Obj1197_1197] :  ((hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1190_1190)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1190_1190), Pa1195_1195), Hb1196_1196), Obj1197_1197)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1196_1196, A_41192_1192), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11193_1193), Fs_11194_1194))) => hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1190_1190)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1190_1190), Pa1195_1195), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1196_1196), A_41192_1192), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11193_1193), Fs_21191_1191)))), Obj1197_1197))))) & ! [Pa1198_1198, Hb1199_1199, Ea1200_1200, Va1201_1201, Eb1202_1202, Ta1203_1203] :  ((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, Pa1198_1198), Hb1199_1199), Ea1200_1200), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va1201_1201), Eb1202_1202)), Ta1203_1203)) => ~(=(Ta1203_1203, void) => ! [T_11204_1204] :  ((=(hAPP(list(char), option(ty), Ea1200_1200, Va1201_1201), hAPP(ty, option(ty), some(ty), T_11204_1204)) => ! [T_41205_1205] :  ((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, Pa1198_1198), Hb1199_1199), Ea1200_1200), Eb1202_1202), T_41205_1205)) => ~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)))), Pa1198_1198), T_41205_1205), T_11204_1204))))))))) & ! [Ta1206_1206, Eb1207_1207, Hb1208_1208, Lb1209_1209, Va_11210_1210, Va1211_1211, E_b1212_1212, H_b1213_1213, L_b1214_1214, Pa1215_1215] :  ((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)))), Eb1207_1207), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1208_1208), 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)), Lb1209_1209), Va_11210_1210), hAPP(val, option(val), some(val), Va1211_1211))))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1212_1212), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1213_1213), L_b1214_1214)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1215_1215)))) => 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)), Va_11210_1210), Ta1206_1206), 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)), Va_11210_1210), hAPP(val, exp(list(char)), val_1(list(char)), Va1211_1211))), Eb1207_1207))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1208_1208), Lb1209_1209))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_11210_1210), Ta1206_1206), 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)), Va_11210_1210), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(option(val), val, the(val), hAPP(list(char), option(val), L_b1214_1214, Va_11210_1210))))), E_b1212_1212))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1213_1213), 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)), L_b1214_1214), Va_11210_1210), hAPP(list(char), option(val), Lb1209_1209, Va_11210_1210)))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1215_1215)))))) & ! [Ta1216_1216, Eb1217_1217, Hb1218_1218, Lb1219_1219, Va_11220_1220, Va1221_1221, E_b1222_1222, H_b1223_1223, L_b1224_1224, Pa1225_1225] :  ((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)))), Eb1217_1217), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1218_1218), 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)), Lb1219_1219), Va_11220_1220), hAPP(val, option(val), some(val), Va1221_1221))))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1222_1222), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1223_1223), L_b1224_1224)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1225_1225)))) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_b1222_1222)) => 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)), Va_11220_1220), Ta1216_1216), 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)), Va_11220_1220), hAPP(val, exp(list(char)), val_1(list(char)), Va1221_1221))), Eb1217_1217))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1218_1218), Lb1219_1219))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1222_1222), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1223_1223), 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)), L_b1224_1224), Va_11220_1220), hAPP(list(char), option(val), Lb1219_1219, Va_11220_1220)))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1225_1225))))))) & ! [X_a1230_1230, A_41231_1231, R_11232_1232] :  (hBOOL(hAPP(fun(product_prod(X_a1230_1230, X_a1230_1230), bool), bool, hAPP(product_prod(X_a1230_1230, X_a1230_1230), fun(fun(product_prod(X_a1230_1230, X_a1230_1230), bool), bool), member(product_prod(X_a1230_1230, X_a1230_1230)), hAPP(X_a1230_1230, product_prod(X_a1230_1230, X_a1230_1230), hAPP(X_a1230_1230, fun(X_a1230_1230, product_prod(X_a1230_1230, X_a1230_1230)), product_Pair(X_a1230_1230, X_a1230_1230), A_41231_1231), A_41231_1231)), hAPP(fun(product_prod(X_a1230_1230, X_a1230_1230), bool), fun(product_prod(X_a1230_1230, X_a1230_1230), bool), transitive_rtrancl(X_a1230_1230), R_11232_1232)))) & ! [Ta1233_1233, H_0_11234_1234, L_0_11235_1235, Va_11236_1236, E_01237_1237, S_01238_1238, E_21239_1239, H_21240_1240, L_21241_1241, Pa1242_1242] :  ((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)))), E_01237_1237), S_01238_1238)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_21239_1239), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_21240_1240), L_21241_1241)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1242_1242)))) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_21239_1239)) => (=(S_01238_1238, hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_0_11234_1234), 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)), L_0_11235_1235), Va_11236_1236), none(val)))) => 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)), Va_11236_1236), Ta1233_1233), E_01237_1237)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_0_11234_1234), L_0_11235_1235))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_21239_1239), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_21240_1240), 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)), L_21241_1241), Va_11236_1236), hAPP(list(char), option(val), L_0_11235_1235, Va_11236_1236)))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1242_1242)))))))) & ! [X_a1243_1243, Fs_11244_1244, Hb1245_1245, Va1246_1246, Pa1247_1247, C_11248_1248, F_11249_1249, Ta1250_1250, D1251_1251] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a1243_1243)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), has_field(X_a1243_1243), Pa1247_1247), C_11248_1248), F_11249_1249), Ta1250_1250), D1251_1251)) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a1243_1243)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a1243_1243), Pa1247_1247), Hb1245_1245), Va1246_1246), Ta1250_1250)) => (hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1243_1243)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1243_1243), Pa1247_1247), Hb1245_1245), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11248_1248), Fs_11244_1244))) => hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1243_1243)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1243_1243), Pa1247_1247), Hb1245_1245), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11248_1248), hAPP(option(val), fun(product_prod(list(char), list(char)), option(val)), hAPP(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val))), hAPP(fun(product_prod(list(char), list(char)), option(val)), fun(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val)))), fun_upd(product_prod(list(char), list(char)), option(val)), Fs_11244_1244), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11249_1249), D1251_1251)), hAPP(val, option(val), some(val), Va1246_1246))))))))) & ! [X_a1252_1252, P_11253_1253, R_11254_1254] :  ((hBOOL(hAPP(fun(product_prod(X_a1252_1252, X_a1252_1252), bool), bool, hAPP(product_prod(X_a1252_1252, X_a1252_1252), fun(fun(product_prod(X_a1252_1252, X_a1252_1252), bool), bool), member(product_prod(X_a1252_1252, X_a1252_1252)), P_11253_1253), R_11254_1254)) => hBOOL(hAPP(fun(product_prod(X_a1252_1252, X_a1252_1252), bool), bool, hAPP(product_prod(X_a1252_1252, X_a1252_1252), fun(fun(product_prod(X_a1252_1252, X_a1252_1252), bool), bool), member(product_prod(X_a1252_1252, X_a1252_1252)), P_11253_1253), hAPP(fun(product_prod(X_a1252_1252, X_a1252_1252), bool), fun(product_prod(X_a1252_1252, X_a1252_1252), bool), transitive_rtrancl(X_a1252_1252), R_11254_1254))))) & ! [X_a1255_1255, X1256_1256] :  (=(hAPP(option(X_a1255_1255), X_a1255_1255, the(X_a1255_1255), hAPP(X_a1255_1255, option(X_a1255_1255), some(X_a1255_1255), X1256_1256)), ti(X_a1255_1255, X1256_1256))) & ! [X_21257_1257, Hb1258_1258, A_41259_1259] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1258_1258, A_41259_1259), none(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb1258_1258), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1258_1258), A_41259_1259), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), X_21257_1257)))))) & ! [X_a1260_1260, R_11261_1261] :  (=(hAPP(fun(product_prod(X_a1260_1260, X_a1260_1260), bool), fun(product_prod(X_a1260_1260, X_a1260_1260), bool), transitive_rtrancl(X_a1260_1260), hAPP(fun(product_prod(X_a1260_1260, X_a1260_1260), bool), fun(product_prod(X_a1260_1260, X_a1260_1260), bool), transitive_rtrancl(X_a1260_1260), R_11261_1261)), hAPP(fun(product_prod(X_a1260_1260, X_a1260_1260), bool), fun(product_prod(X_a1260_1260, X_a1260_1260), bool), transitive_rtrancl(X_a1260_1260), R_11261_1261))) & ! [X_a1262_1262, X_21263_1263, A_41264_1264, Pa1265_1265, Hb1266_1266, Obj1267_1267] :  ((hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1262_1262)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1262_1262), Pa1265_1265), Hb1266_1266), Obj1267_1267)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1266_1266, A_41264_1264), none(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))) => hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1262_1262)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1262_1262), Pa1265_1265), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1266_1266), A_41264_1264), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), X_21263_1263))), Obj1267_1267))))) & ! [X_a1268_1268, Obj1269_1269, A_41270_1270, Pa1271_1271, Hb1272_1272] :  ((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, X_a1268_1268)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hconf(X_a1268_1268), Pa1271_1271), Hb1272_1272)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1272_1272, A_41270_1270), none(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))) => (hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1268_1268)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1268_1268), Pa1271_1271), Hb1272_1272), Obj1269_1269)) => 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, X_a1268_1268)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hconf(X_a1268_1268), Pa1271_1271), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1272_1272), A_41270_1270), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Obj1269_1269)))))))) & ! [X_a1273_1273, C1274_1274, A_41275_1275, B1276_1276, R_11277_1277] :  ((hBOOL(hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool, hAPP(product_prod(X_a1273_1273, X_a1273_1273), fun(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool), member(product_prod(X_a1273_1273, X_a1273_1273)), hAPP(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273), hAPP(X_a1273_1273, fun(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273)), product_Pair(X_a1273_1273, X_a1273_1273), A_41275_1275), B1276_1276)), hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), fun(product_prod(X_a1273_1273, X_a1273_1273), bool), transitive_rtrancl(X_a1273_1273), R_11277_1277))) => (hBOOL(hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool, hAPP(product_prod(X_a1273_1273, X_a1273_1273), fun(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool), member(product_prod(X_a1273_1273, X_a1273_1273)), hAPP(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273), hAPP(X_a1273_1273, fun(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273)), product_Pair(X_a1273_1273, X_a1273_1273), B1276_1276), C1274_1274)), hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), fun(product_prod(X_a1273_1273, X_a1273_1273), bool), transitive_rtrancl(X_a1273_1273), R_11277_1277))) => hBOOL(hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool, hAPP(product_prod(X_a1273_1273, X_a1273_1273), fun(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool), member(product_prod(X_a1273_1273, X_a1273_1273)), hAPP(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273), hAPP(X_a1273_1273, fun(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273)), product_Pair(X_a1273_1273, X_a1273_1273), A_41275_1275), C1274_1274)), hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), fun(product_prod(X_a1273_1273, X_a1273_1273), bool), transitive_rtrancl(X_a1273_1273), R_11277_1277)))))) & ! [X_a1278_1278, C1279_1279, A_41280_1280, B1281_1281, R_11282_1282] :  ((hBOOL(hAPP(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool, hAPP(product_prod(X_a1278_1278, X_a1278_1278), fun(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool), member(product_prod(X_a1278_1278, X_a1278_1278)), hAPP(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278), hAPP(X_a1278_1278, fun(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278)), product_Pair(X_a1278_1278, X_a1278_1278), A_41280_1280), B1281_1281)), hAPP(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), fun(product_prod(X_a1278_1278, X_a1278_1278), bool), transitive_rtrancl(X_a1278_1278), R_11282_1282))) => (hBOOL(hAPP(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool, hAPP(product_prod(X_a1278_1278, X_a1278_1278), fun(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool), member(product_prod(X_a1278_1278, X_a1278_1278)), hAPP(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278), hAPP(X_a1278_1278, fun(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278)), product_Pair(X_a1278_1278, X_a1278_1278), B1281_1281), C1279_1279)), R_11282_1282)) => hBOOL(hAPP(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool, hAPP(product_prod(X_a1278_1278, X_a1278_1278), fun(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool), member(product_prod(X_a1278_1278, X_a1278_1278)), hAPP(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278), hAPP(X_a1278_1278, fun(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278)), product_Pair(X_a1278_1278, X_a1278_1278), A_41280_1280), C1279_1279)), hAPP(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), fun(product_prod(X_a1278_1278, X_a1278_1278), bool), transitive_rtrancl(X_a1278_1278), R_11282_1282)))))) & ! [X_a1283_1283, C1284_1284, A_41285_1285, B1286_1286, R_11287_1287] :  ((hBOOL(hAPP(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool, hAPP(product_prod(X_a1283_1283, X_a1283_1283), fun(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool), member(product_prod(X_a1283_1283, X_a1283_1283)), hAPP(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283), hAPP(X_a1283_1283, fun(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283)), product_Pair(X_a1283_1283, X_a1283_1283), A_41285_1285), B1286_1286)), R_11287_1287)) => (hBOOL(hAPP(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool, hAPP(product_prod(X_a1283_1283, X_a1283_1283), fun(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool), member(product_prod(X_a1283_1283, X_a1283_1283)), hAPP(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283), hAPP(X_a1283_1283, fun(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283)), product_Pair(X_a1283_1283, X_a1283_1283), B1286_1286), C1284_1284)), hAPP(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), fun(product_prod(X_a1283_1283, X_a1283_1283), bool), transitive_rtrancl(X_a1283_1283), R_11287_1287))) => hBOOL(hAPP(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool, hAPP(product_prod(X_a1283_1283, X_a1283_1283), fun(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool), member(product_prod(X_a1283_1283, X_a1283_1283)), hAPP(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283), hAPP(X_a1283_1283, fun(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283)), product_Pair(X_a1283_1283, X_a1283_1283), A_41285_1285), C1284_1284)), hAPP(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), fun(product_prod(X_a1283_1283, X_a1283_1283), bool), transitive_rtrancl(X_a1283_1283), R_11287_1287)))))) & ! [X_a1288_1288, X_b1289_1289, Xa_11290_1290, Xb1291_1291, Za1292_1292, Zb1293_1293, R_11294_1294] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool, hAPP(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), fun(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool), member(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), hAPP(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(product_prod(X_a1288_1288, X_b1289_1289), fun(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), product_Pair(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Xa_11290_1290), Xb1291_1291)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Za1292_1292), Zb1293_1293))), hAPP(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), transitive_rtrancl(product_prod(X_a1288_1288, X_b1289_1289)), R_11294_1294))) => (~=(hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Xa_11290_1290), Xb1291_1291), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Za1292_1292), Zb1293_1293)) => ~! [A_31295_1295, B_11296_1296] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool, hAPP(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), fun(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool), member(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), hAPP(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(product_prod(X_a1288_1288, X_b1289_1289), fun(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), product_Pair(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Xa_11290_1290), Xb1291_1291)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), A_31295_1295), B_11296_1296))), R_11294_1294)) => ~hBOOL(hAPP(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool, hAPP(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), fun(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool), member(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), hAPP(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(product_prod(X_a1288_1288, X_b1289_1289), fun(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), product_Pair(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), A_31295_1295), B_11296_1296)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Za1292_1292), Zb1293_1293))), hAPP(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), transitive_rtrancl(product_prod(X_a1288_1288, X_b1289_1289)), R_11294_1294)))))))) & ! [X_a1297_1297, X_b1298_1298, Pa1299_1299, Ax1300_1300, Ay1301_1301, Bx1302_1302, By1303_1303, R_11304_1304] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool, hAPP(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), fun(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool), member(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), hAPP(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(product_prod(X_a1297_1297, X_b1298_1298), fun(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), product_Pair(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), Ax1300_1300), Ay1301_1301)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), Bx1302_1302), By1303_1303))), hAPP(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), transitive_rtrancl(product_prod(X_a1297_1297, X_b1298_1298)), R_11304_1304))) => (hBOOL(hAPP(X_b1298_1298, bool, hAPP(X_a1297_1297, fun(X_b1298_1298, bool), Pa1299_1299, Bx1302_1302), By1303_1303)) => (! [A_31305_1305, B_11306_1306, Aa1307_1307, Ba1308_1308] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool, hAPP(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), fun(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool), member(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), hAPP(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(product_prod(X_a1297_1297, X_b1298_1298), fun(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), product_Pair(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), A_31305_1305), B_11306_1306)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), Aa1307_1307), Ba1308_1308))), R_11304_1304)) => (hBOOL(hAPP(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool, hAPP(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), fun(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool), member(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), hAPP(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(product_prod(X_a1297_1297, X_b1298_1298), fun(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), product_Pair(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), Aa1307_1307), Ba1308_1308)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), Bx1302_1302), By1303_1303))), hAPP(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), transitive_rtrancl(product_prod(X_a1297_1297, X_b1298_1298)), R_11304_1304))) => (hBOOL(hAPP(X_b1298_1298, bool, hAPP(X_a1297_1297, fun(X_b1298_1298, bool), Pa1299_1299, Aa1307_1307), Ba1308_1308)) => hBOOL(hAPP(X_b1298_1298, bool, hAPP(X_a1297_1297, fun(X_b1298_1298, bool), Pa1299_1299, A_31305_1305), B_11306_1306)))))) => hBOOL(hAPP(X_b1298_1298, bool, hAPP(X_a1297_1297, fun(X_b1298_1298, bool), Pa1299_1299, Ax1300_1300), Ay1301_1301)))))) & ! [X_a1309_1309, X_b1310_1310, Pa1311_1311, Ax1312_1312, Ay1313_1313, Bx1314_1314, By1315_1315, R_11316_1316] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool, hAPP(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), fun(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool), member(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), hAPP(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(product_prod(X_a1309_1309, X_b1310_1310), fun(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), product_Pair(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), Ax1312_1312), Ay1313_1313)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), Bx1314_1314), By1315_1315))), hAPP(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), transitive_rtrancl(product_prod(X_a1309_1309, X_b1310_1310)), R_11316_1316))) => (hBOOL(hAPP(X_b1310_1310, bool, hAPP(X_a1309_1309, fun(X_b1310_1310, bool), Pa1311_1311, Ax1312_1312), Ay1313_1313)) => (! [A_31317_1317, B_11318_1318, Aa1319_1319, Ba1320_1320] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool, hAPP(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), fun(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool), member(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), hAPP(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(product_prod(X_a1309_1309, X_b1310_1310), fun(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), product_Pair(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), Ax1312_1312), Ay1313_1313)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), A_31317_1317), B_11318_1318))), hAPP(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), transitive_rtrancl(product_prod(X_a1309_1309, X_b1310_1310)), R_11316_1316))) => (hBOOL(hAPP(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool, hAPP(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), fun(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool), member(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), hAPP(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(product_prod(X_a1309_1309, X_b1310_1310), fun(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), product_Pair(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), A_31317_1317), B_11318_1318)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), Aa1319_1319), Ba1320_1320))), R_11316_1316)) => (hBOOL(hAPP(X_b1310_1310, bool, hAPP(X_a1309_1309, fun(X_b1310_1310, bool), Pa1311_1311, A_31317_1317), B_11318_1318)) => hBOOL(hAPP(X_b1310_1310, bool, hAPP(X_a1309_1309, fun(X_b1310_1310, bool), Pa1311_1311, Aa1319_1319), Ba1320_1320)))))) => hBOOL(hAPP(X_b1310_1310, bool, hAPP(X_a1309_1309, fun(X_b1310_1310, bool), Pa1311_1311, Bx1314_1314), By1315_1315)))))) & ! [Lb1321_1321, Ea1322_1322, Eb1323_1323, Ta1324_1324, Hb1325_1325, Pa1326_1326] :  ((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)))), wwf_J_mdecl), Pa1326_1326)) => (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)))), Pa1326_1326), Hb1325_1325)) => (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, Pa1326_1326), Hb1325_1325), Ea1322_1322), Eb1323_1323), Ta1324_1324)) => (hBOOL(hAPP(option(fun(list(char), bool)), bool, hAPP(exp(list(char)), fun(option(fun(list(char), bool)), bool), d(list(char)), Eb1323_1323), hAPP(fun(list(char), bool), option(fun(list(char), bool)), some(fun(list(char), bool)), hAPP(fun(list(char), option(val)), fun(list(char), bool), dom(list(char), val), Lb1321_1321)))) => (~hBOOL(hAPP(exp(list(char)), bool, final(list(char)), Eb1323_1323)) => ? [E_31327_1327, S_41328_1328] :  (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)))), Eb1323_1323), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1325_1325), Lb1321_1321))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_31327_1327), S_41328_1328))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1326_1326)))))))))) & ! [X_a1329_1329, Y1330_1330] :  ((~=(ti(option(X_a1329_1329), Y1330_1330), none(X_a1329_1329)) => ~! [A_31331_1331] :  (~=(ti(option(X_a1329_1329), Y1330_1330), hAPP(X_a1329_1329, option(X_a1329_1329), some(X_a1329_1329), A_31331_1331))))) & ! [X_a1332_1332, A_41333_1333, B1334_1334, R_11335_1335] :  ((hBOOL(hAPP(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool, hAPP(product_prod(X_a1332_1332, X_a1332_1332), fun(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool), member(product_prod(X_a1332_1332, X_a1332_1332)), hAPP(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332), hAPP(X_a1332_1332, fun(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332)), product_Pair(X_a1332_1332, X_a1332_1332), A_41333_1333), B1334_1334)), hAPP(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), fun(product_prod(X_a1332_1332, X_a1332_1332), bool), transitive_rtrancl(X_a1332_1332), R_11335_1335))) => (~=(ti(X_a1332_1332, A_41333_1333), ti(X_a1332_1332, B1334_1334)) => ~! [Y_21336_1336] :  ((hBOOL(hAPP(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool, hAPP(product_prod(X_a1332_1332, X_a1332_1332), fun(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool), member(product_prod(X_a1332_1332, X_a1332_1332)), hAPP(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332), hAPP(X_a1332_1332, fun(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332)), product_Pair(X_a1332_1332, X_a1332_1332), A_41333_1333), Y_21336_1336)), hAPP(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), fun(product_prod(X_a1332_1332, X_a1332_1332), bool), transitive_rtrancl(X_a1332_1332), R_11335_1335))) => ~hBOOL(hAPP(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool, hAPP(product_prod(X_a1332_1332, X_a1332_1332), fun(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool), member(product_prod(X_a1332_1332, X_a1332_1332)), hAPP(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332), hAPP(X_a1332_1332, fun(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332)), product_Pair(X_a1332_1332, X_a1332_1332), Y_21336_1336), B1334_1334)), R_11335_1335))))))) & ! [Pa1337_1337] :  ((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), Pa1337_1337)) => 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)))), wwf_J_mdecl), Pa1337_1337)))) & ! [P1338_1338, C_31339_1339, Md1340_1340] :  ((hBOOL(hAPP(product_prod(list(char), product_prod(list(ty), product_prod(ty, product_prod(list(list(char)), exp(list(char)))))), bool, hAPP(list(char), fun(product_prod(list(char), product_prod(list(ty), product_prod(ty, product_prod(list(list(char)), exp(list(char)))))), bool), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, P1338_1338), C_31339_1339), Md1340_1340)) => hBOOL(hAPP(product_prod(list(char), product_prod(list(ty), product_prod(ty, product_prod(list(list(char)), exp(list(char)))))), bool, hAPP(list(char), fun(product_prod(list(char), product_prod(list(ty), product_prod(ty, product_prod(list(list(char)), exp(list(char)))))), bool), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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)), wwf_J_mdecl, P1338_1338), C_31339_1339), Md1340_1340)))) & ! [X_a1341_1341, Pa1342_1342, A_41343_1343, B1344_1344, R_11345_1345] :  ((hBOOL(hAPP(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool, hAPP(product_prod(X_a1341_1341, X_a1341_1341), fun(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool), member(product_prod(X_a1341_1341, X_a1341_1341)), hAPP(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341), hAPP(X_a1341_1341, fun(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341)), product_Pair(X_a1341_1341, X_a1341_1341), A_41343_1343), B1344_1344)), hAPP(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), fun(product_prod(X_a1341_1341, X_a1341_1341), bool), transitive_rtrancl(X_a1341_1341), R_11345_1345))) => (hBOOL(hAPP(X_a1341_1341, bool, Pa1342_1342, A_41343_1343)) => (! [Y_21346_1346, Z_11347_1347] :  ((hBOOL(hAPP(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool, hAPP(product_prod(X_a1341_1341, X_a1341_1341), fun(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool), member(product_prod(X_a1341_1341, X_a1341_1341)), hAPP(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341), hAPP(X_a1341_1341, fun(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341)), product_Pair(X_a1341_1341, X_a1341_1341), A_41343_1343), Y_21346_1346)), hAPP(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), fun(product_prod(X_a1341_1341, X_a1341_1341), bool), transitive_rtrancl(X_a1341_1341), R_11345_1345))) => (hBOOL(hAPP(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool, hAPP(product_prod(X_a1341_1341, X_a1341_1341), fun(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool), member(product_prod(X_a1341_1341, X_a1341_1341)), hAPP(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341), hAPP(X_a1341_1341, fun(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341)), product_Pair(X_a1341_1341, X_a1341_1341), Y_21346_1346), Z_11347_1347)), R_11345_1345)) => (hBOOL(hAPP(X_a1341_1341, bool, Pa1342_1342, Y_21346_1346)) => hBOOL(hAPP(X_a1341_1341, bool, Pa1342_1342, Z_11347_1347)))))) => hBOOL(hAPP(X_a1341_1341, bool, Pa1342_1342, B1344_1344)))))) & ! [X_a1348_1348, Pa1349_1349, A_41350_1350, B1351_1351, R_11352_1352] :  ((hBOOL(hAPP(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool, hAPP(product_prod(X_a1348_1348, X_a1348_1348), fun(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool), member(product_prod(X_a1348_1348, X_a1348_1348)), hAPP(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348), hAPP(X_a1348_1348, fun(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348)), product_Pair(X_a1348_1348, X_a1348_1348), A_41350_1350), B1351_1351)), hAPP(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), fun(product_prod(X_a1348_1348, X_a1348_1348), bool), transitive_rtrancl(X_a1348_1348), R_11352_1352))) => (hBOOL(hAPP(X_a1348_1348, bool, Pa1349_1349, B1351_1351)) => (! [Y_21353_1353, Z_11354_1354] :  ((hBOOL(hAPP(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool, hAPP(product_prod(X_a1348_1348, X_a1348_1348), fun(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool), member(product_prod(X_a1348_1348, X_a1348_1348)), hAPP(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348), hAPP(X_a1348_1348, fun(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348)), product_Pair(X_a1348_1348, X_a1348_1348), Y_21353_1353), Z_11354_1354)), R_11352_1352)) => (hBOOL(hAPP(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool, hAPP(product_prod(X_a1348_1348, X_a1348_1348), fun(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool), member(product_prod(X_a1348_1348, X_a1348_1348)), hAPP(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348), hAPP(X_a1348_1348, fun(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348)), product_Pair(X_a1348_1348, X_a1348_1348), Z_11354_1354), B1351_1351)), hAPP(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), fun(product_prod(X_a1348_1348, X_a1348_1348), bool), transitive_rtrancl(X_a1348_1348), R_11352_1352))) => (hBOOL(hAPP(X_a1348_1348, bool, Pa1349_1349, Z_11354_1354)) => hBOOL(hAPP(X_a1348_1348, bool, Pa1349_1349, Y_21353_1353)))))) => hBOOL(hAPP(X_a1348_1348, bool, Pa1349_1349, A_41350_1350)))))) & ! [X_a1355_1355, X_21356_1356, Z1357_1357, R_11358_1358] :  ((hBOOL(hAPP(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool, hAPP(product_prod(X_a1355_1355, X_a1355_1355), fun(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool), member(product_prod(X_a1355_1355, X_a1355_1355)), hAPP(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355), hAPP(X_a1355_1355, fun(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355)), product_Pair(X_a1355_1355, X_a1355_1355), X_21356_1356), Z1357_1357)), hAPP(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), fun(product_prod(X_a1355_1355, X_a1355_1355), bool), transitive_rtrancl(X_a1355_1355), R_11358_1358))) => (~=(ti(X_a1355_1355, X_21356_1356), ti(X_a1355_1355, Z1357_1357)) => ~! [Y_21359_1359] :  ((hBOOL(hAPP(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool, hAPP(product_prod(X_a1355_1355, X_a1355_1355), fun(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool), member(product_prod(X_a1355_1355, X_a1355_1355)), hAPP(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355), hAPP(X_a1355_1355, fun(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355)), product_Pair(X_a1355_1355, X_a1355_1355), X_21356_1356), Y_21359_1359)), R_11358_1358)) => ~hBOOL(hAPP(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool, hAPP(product_prod(X_a1355_1355, X_a1355_1355), fun(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool), member(product_prod(X_a1355_1355, X_a1355_1355)), hAPP(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355), hAPP(X_a1355_1355, fun(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355)), product_Pair(X_a1355_1355, X_a1355_1355), Y_21359_1359), Z1357_1357)), hAPP(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), fun(product_prod(X_a1355_1355, X_a1355_1355), bool), transitive_rtrancl(X_a1355_1355), R_11358_1358)))))))) & ! [Eb1360_1360, S_21361_1361, E_b1362_1362, S1363_1363, Pa1364_1364] :  ((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)))), wwf_J_mdecl), Pa1364_1364)) => (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)))), Eb1360_1360), S_21361_1361)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1362_1362), S1363_1363))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1364_1364)))) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_b1362_1362)) => 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)))), eval, Pa1364_1364), Eb1360_1360), S_21361_1361), E_b1362_1362), S1363_1363)))))) & ! [Eb1365_1365, S_21366_1366, E_b1367_1367, S1368_1368, Pa1369_1369] :  ((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)))), wwf_J_mdecl), Pa1369_1369)) => (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)))), eval, Pa1369_1369), Eb1365_1365), S_21366_1366), E_b1367_1367), S1368_1368)) <=> (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)))), Eb1365_1365), S_21366_1366)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1367_1367), S1368_1368))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1369_1369)))) & hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_b1367_1367)))))) & ! [F_11370_1370, D1371_1371, C_11372_1372, Fs_11373_1373, E_21374_1374, Va1375_1375, H_21376_1376, L_21377_1377, E_11378_1378, S_01379_1379, A_41380_1380, S_11381_1381, Pa1382_1382] :  ((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)))), E_11378_1378), S_01379_1379)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_41380_1380))), S_11381_1381))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1382_1382)))) => (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)))), E_21374_1374), S_11381_1381)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va1375_1375)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_21376_1376), L_21377_1377)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1382_1382)))) => (=(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11372_1372), Fs_11373_1373)), hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_21376_1376, A_41380_1380)) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_11378_1378), F_11370_1370), D1371_1371), E_21374_1374)), S_01379_1379)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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))), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), H_21376_1376), A_41380_1380), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11372_1372), hAPP(option(val), fun(product_prod(list(char), list(char)), option(val)), hAPP(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val))), hAPP(fun(product_prod(list(char), list(char)), option(val)), fun(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val)))), fun_upd(product_prod(list(char), list(char)), option(val)), Fs_11373_1373), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11370_1370), D1371_1371)), hAPP(val, option(val), some(val), Va1375_1375)))))), L_21377_1377)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1382_1382)))))))) & ! [F_11383_1383, D1384_1384, Va1385_1385, Lb1386_1386, Pa1387_1387, Hb1388_1388, A_41389_1389, C_11390_1390, Fs_11391_1391] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1388_1388, A_41389_1389), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11390_1390), Fs_11391_1391))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41389_1389))), F_11383_1383), D1384_1384), hAPP(val, exp(list(char)), val_1(list(char)), Va1385_1385))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1388_1388), Lb1386_1386))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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))), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1388_1388), A_41389_1389), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11390_1390), hAPP(option(val), fun(product_prod(list(char), list(char)), option(val)), hAPP(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val))), hAPP(fun(product_prod(list(char), list(char)), option(val)), fun(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val)))), fun_upd(product_prod(list(char), list(char)), option(val)), Fs_11391_1391), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11383_1383), D1384_1384)), hAPP(val, option(val), some(val), Va1385_1385)))))), Lb1386_1386)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1387_1387))))) & ! [Eb1392_1392, S_21393_1393, E_b1394_1394, S1395_1395, Pa1396_1396] :  ((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)))), wwf_J_mdecl), Pa1396_1396)) => (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)))), eval, Pa1396_1396), Eb1392_1392), S_21393_1393), E_b1394_1394), S1395_1395)) => 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)))), Eb1392_1392), S_21393_1393)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1394_1394), S1395_1395))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1396_1396))))))) & ! [X_a1397_1397, Exp1_31398_1398, List1_31399_1399, List2_31400_1400, Exp2_31401_1401, Exp1_21402_1402, List1_21403_1403, List2_21404_1404, Exp2_21405_1405] :  ((=(hAPP(exp(X_a1397_1397), exp(X_a1397_1397), hAPP(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397)), hAPP(list(char), fun(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397))), hAPP(exp(X_a1397_1397), fun(list(char), fun(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397)))), fAss(X_a1397_1397), Exp1_31398_1398), List1_31399_1399), List2_31400_1400), Exp2_31401_1401), hAPP(exp(X_a1397_1397), exp(X_a1397_1397), hAPP(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397)), hAPP(list(char), fun(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397))), hAPP(exp(X_a1397_1397), fun(list(char), fun(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397)))), fAss(X_a1397_1397), Exp1_21402_1402), List1_21403_1403), List2_21404_1404), Exp2_21405_1405)) <=> (((=(Exp1_31398_1398, Exp1_21402_1402) & =(List1_31399_1399, List1_21403_1403)) & =(List2_31400_1400, List2_21404_1404)) & =(Exp2_31401_1401, Exp2_21405_1405)))) & ! [F_11406_1406, D1407_1407, E_21408_1408, Pa1409_1409, Eb1410_1410, S_21411_1411, E_b1412_1412, S1413_1413] :  ((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, Pa1409_1409), Eb1410_1410), S_21411_1411), E_b1412_1412), S1413_1413)) => 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, Pa1409_1409), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), Eb1410_1410), F_11406_1406), D1407_1407), E_21408_1408)), S_21411_1411), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_b1412_1412), F_11406_1406), D1407_1407), E_21408_1408)), S1413_1413)))) & ! [X_a1414_1414, Val1415_1415, Exp1_11416_1416, List1_11417_1417, List2_11418_1418, Exp2_11419_1419] :  (~=(hAPP(val, exp(X_a1414_1414), val_1(X_a1414_1414), Val1415_1415), hAPP(exp(X_a1414_1414), exp(X_a1414_1414), hAPP(list(char), fun(exp(X_a1414_1414), exp(X_a1414_1414)), hAPP(list(char), fun(list(char), fun(exp(X_a1414_1414), exp(X_a1414_1414))), hAPP(exp(X_a1414_1414), fun(list(char), fun(list(char), fun(exp(X_a1414_1414), exp(X_a1414_1414)))), fAss(X_a1414_1414), Exp1_11416_1416), List1_11417_1417), List2_11418_1418), Exp2_11419_1419))) & ! [X_a1420_1420, Exp1_11421_1421, List1_11422_1422, List2_11423_1423, Exp2_11424_1424, Val1425_1425] :  (~=(hAPP(exp(X_a1420_1420), exp(X_a1420_1420), hAPP(list(char), fun(exp(X_a1420_1420), exp(X_a1420_1420)), hAPP(list(char), fun(list(char), fun(exp(X_a1420_1420), exp(X_a1420_1420))), hAPP(exp(X_a1420_1420), fun(list(char), fun(list(char), fun(exp(X_a1420_1420), exp(X_a1420_1420)))), fAss(X_a1420_1420), Exp1_11421_1421), List1_11422_1422), List2_11423_1423), Exp2_11424_1424), hAPP(val, exp(X_a1420_1420), val_1(X_a1420_1420), Val1425_1425))) & ! [X_a1426_1426, Exp1_11427_1427, List1_11428_1428, List2_11429_1429, Exp2_11430_1430, A_21431_1431, Exp1432_1432] :  (~=(hAPP(exp(X_a1426_1426), exp(X_a1426_1426), hAPP(list(char), fun(exp(X_a1426_1426), exp(X_a1426_1426)), hAPP(list(char), fun(list(char), fun(exp(X_a1426_1426), exp(X_a1426_1426))), hAPP(exp(X_a1426_1426), fun(list(char), fun(list(char), fun(exp(X_a1426_1426), exp(X_a1426_1426)))), fAss(X_a1426_1426), Exp1_11427_1427), List1_11428_1428), List2_11429_1429), Exp2_11430_1430), hAPP(exp(X_a1426_1426), exp(X_a1426_1426), hAPP(X_a1426_1426, fun(exp(X_a1426_1426), exp(X_a1426_1426)), lAss(X_a1426_1426), A_21431_1431), Exp1432_1432))) & ! [X_a1433_1433, Exp11434_1434, List11435_1435, List21436_1436, Exp21437_1437, Exp1_11438_1438, Exp2_11439_1439] :  (~=(hAPP(exp(X_a1433_1433), exp(X_a1433_1433), hAPP(list(char), fun(exp(X_a1433_1433), exp(X_a1433_1433)), hAPP(list(char), fun(list(char), fun(exp(X_a1433_1433), exp(X_a1433_1433))), hAPP(exp(X_a1433_1433), fun(list(char), fun(list(char), fun(exp(X_a1433_1433), exp(X_a1433_1433)))), fAss(X_a1433_1433), Exp11434_1434), List11435_1435), List21436_1436), Exp21437_1437), hAPP(exp(X_a1433_1433), exp(X_a1433_1433), hAPP(exp(X_a1433_1433), fun(exp(X_a1433_1433), exp(X_a1433_1433)), seq(X_a1433_1433), Exp1_11438_1438), Exp2_11439_1439))) & ! [X_a1440_1440, A_21441_1441, Exp1442_1442, Exp1_11443_1443, List1_11444_1444, List2_11445_1445, Exp2_11446_1446] :  (~=(hAPP(exp(X_a1440_1440), exp(X_a1440_1440), hAPP(X_a1440_1440, fun(exp(X_a1440_1440), exp(X_a1440_1440)), lAss(X_a1440_1440), A_21441_1441), Exp1442_1442), hAPP(exp(X_a1440_1440), exp(X_a1440_1440), hAPP(list(char), fun(exp(X_a1440_1440), exp(X_a1440_1440)), hAPP(list(char), fun(list(char), fun(exp(X_a1440_1440), exp(X_a1440_1440))), hAPP(exp(X_a1440_1440), fun(list(char), fun(list(char), fun(exp(X_a1440_1440), exp(X_a1440_1440)))), fAss(X_a1440_1440), Exp1_11443_1443), List1_11444_1444), List2_11445_1445), Exp2_11446_1446))) & ! [X_a1447_1447, Exp1_11448_1448, Exp2_11449_1449, Exp11450_1450, List11451_1451, List21452_1452, Exp21453_1453] :  (~=(hAPP(exp(X_a1447_1447), exp(X_a1447_1447), hAPP(exp(X_a1447_1447), fun(exp(X_a1447_1447), exp(X_a1447_1447)), seq(X_a1447_1447), Exp1_11448_1448), Exp2_11449_1449), hAPP(exp(X_a1447_1447), exp(X_a1447_1447), hAPP(list(char), fun(exp(X_a1447_1447), exp(X_a1447_1447)), hAPP(list(char), fun(list(char), fun(exp(X_a1447_1447), exp(X_a1447_1447))), hAPP(exp(X_a1447_1447), fun(list(char), fun(list(char), fun(exp(X_a1447_1447), exp(X_a1447_1447)))), fAss(X_a1447_1447), Exp11450_1450), List11451_1451), List21452_1452), Exp21453_1453))) & ! [X_a1454_1454, Exp11455_1455, List11456_1456, List21457_1457, Exp21458_1458, A_11459_1459, Ty_11460_1460, Exp_11461_1461] :  (~=(hAPP(exp(X_a1454_1454), exp(X_a1454_1454), hAPP(list(char), fun(exp(X_a1454_1454), exp(X_a1454_1454)), hAPP(list(char), fun(list(char), fun(exp(X_a1454_1454), exp(X_a1454_1454))), hAPP(exp(X_a1454_1454), fun(list(char), fun(list(char), fun(exp(X_a1454_1454), exp(X_a1454_1454)))), fAss(X_a1454_1454), Exp11455_1455), List11456_1456), List21457_1457), Exp21458_1458), hAPP(exp(X_a1454_1454), exp(X_a1454_1454), hAPP(ty, fun(exp(X_a1454_1454), exp(X_a1454_1454)), hAPP(X_a1454_1454, fun(ty, fun(exp(X_a1454_1454), exp(X_a1454_1454))), block(X_a1454_1454), A_11459_1459), Ty_11460_1460), Exp_11461_1461))) & ! [X_a1462_1462, A_11463_1463, Ty_11464_1464, Exp_11465_1465, Exp11466_1466, List11467_1467, List21468_1468, Exp21469_1469] :  (~=(hAPP(exp(X_a1462_1462), exp(X_a1462_1462), hAPP(ty, fun(exp(X_a1462_1462), exp(X_a1462_1462)), hAPP(X_a1462_1462, fun(ty, fun(exp(X_a1462_1462), exp(X_a1462_1462))), block(X_a1462_1462), A_11463_1463), Ty_11464_1464), Exp_11465_1465), hAPP(exp(X_a1462_1462), exp(X_a1462_1462), hAPP(list(char), fun(exp(X_a1462_1462), exp(X_a1462_1462)), hAPP(list(char), fun(list(char), fun(exp(X_a1462_1462), exp(X_a1462_1462))), hAPP(exp(X_a1462_1462), fun(list(char), fun(list(char), fun(exp(X_a1462_1462), exp(X_a1462_1462)))), fAss(X_a1462_1462), Exp11466_1466), List11467_1467), List21468_1468), Exp21469_1469))) & ! [Va1470_1470, F_11471_1471, D1472_1472, Pa1473_1473, Eb1474_1474, S_21475_1475, E_b1476_1476, S1477_1477] :  ((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, Pa1473_1473), Eb1474_1474), S_21475_1475), E_b1476_1476), S1477_1477)) => 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, Pa1473_1473), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1470_1470)), F_11471_1471), D1472_1472), Eb1474_1474)), S_21475_1475), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1470_1470)), F_11471_1471), D1472_1472), E_b1476_1476)), S1477_1477)))) & ! [F_11478_1478, D1479_1479, E_21480_1480, Eb1481_1481, S_21482_1482, E_b1483_1483, S1484_1484, Pa1485_1485] :  ((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)))), Eb1481_1481), S_21482_1482)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1483_1483), S1484_1484))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1485_1485))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), Eb1481_1481), F_11478_1478), D1479_1479), E_21480_1480)), S_21482_1482)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_b1483_1483), F_11478_1478), D1479_1479), E_21480_1480)), S1484_1484))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1485_1485))))) & ! [Va1486_1486, F_11487_1487, D1488_1488, Eb1489_1489, S_21490_1490, E_b1491_1491, S1492_1492, Pa1493_1493] :  ((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)))), Eb1489_1489), S_21490_1490)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1491_1491), S1492_1492))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1493_1493))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1486_1486)), F_11487_1487), D1488_1488), Eb1489_1489)), S_21490_1490)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1486_1486)), F_11487_1487), D1488_1488), E_b1491_1491)), S1492_1492))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1493_1493))))) & ! [F_11494_1494, D1495_1495, E_21496_1496, Eb1497_1497, S_21498_1498, E_b1499_1499, S1500_1500, Pa1501_1501] :  ((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)))), Eb1497_1497), S_21498_1498)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1499_1499), S1500_1500))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1501_1501)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), Eb1497_1497), F_11494_1494), D1495_1495), E_21496_1496)), S_21498_1498)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_b1499_1499), F_11494_1494), D1495_1495), E_21496_1496)), S1500_1500))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1501_1501)))))) & ! [E_b1502_1502, S1503_1503, Eb1504_1504, S_21505_1505, E_51506_1506, S_31507_1507, Pa1508_1508] :  ((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)))), wwf_J_mdecl), Pa1508_1508)) => (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)))), Eb1504_1504), S_21505_1505)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_51506_1506), S_31507_1507))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1508_1508))) => (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)))), eval, Pa1508_1508), E_51506_1506), S_31507_1507), E_b1502_1502), S1503_1503)) => 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)))), eval, Pa1508_1508), Eb1504_1504), S_21505_1505), E_b1502_1502), S1503_1503)))))) & ! [Va1509_1509, F_11510_1510, D1511_1511, Eb1512_1512, S_21513_1513, E_b1514_1514, S1515_1515, Pa1516_1516] :  ((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)))), Eb1512_1512), S_21513_1513)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1514_1514), S1515_1515))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1516_1516)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1509_1509)), F_11510_1510), D1511_1511), Eb1512_1512)), S_21513_1513)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1509_1509)), F_11510_1510), D1511_1511), E_b1514_1514)), S1515_1515))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1516_1516)))))) & ! [Pa1517_1517, F_11518_1518, D1519_1519, Va1520_1520, Lb1521_1521, Hb1522_1522, A_41523_1523, C_11524_1524, Fs_11525_1525] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1522_1522, A_41523_1523), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11524_1524), Fs_11525_1525))) => 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, Pa1517_1517), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41523_1523))), F_11518_1518), D1519_1519), hAPP(val, exp(list(char)), val_1(list(char)), Va1520_1520))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1522_1522), Lb1521_1521)), 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))), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1522_1522), A_41523_1523), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11524_1524), hAPP(option(val), fun(product_prod(list(char), list(char)), option(val)), hAPP(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val))), hAPP(fun(product_prod(list(char), list(char)), option(val)), fun(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val)))), fun_upd(product_prod(list(char), list(char)), option(val)), Fs_11525_1525), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11518_1518), D1519_1519)), hAPP(val, option(val), some(val), Va1520_1520)))))), Lb1521_1521))))) & ! [E_b1526_1526, S1527_1527, Eb1528_1528, S_21529_1529, E_51530_1530, S_31531_1531, Pa1532_1532] :  ((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)))), wwf_J_mdecl), Pa1532_1532)) => (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)))), Eb1528_1528), S_21529_1529)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_51530_1530), S_31531_1531))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1532_1532)))) => (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)))), eval, Pa1532_1532), E_51530_1530), S_31531_1531), E_b1526_1526), S1527_1527)) => 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)))), eval, Pa1532_1532), Eb1528_1528), S_21529_1529), E_b1526_1526), S1527_1527)))))) & ! [H_2_11533_1533, Fs_21534_1534, F_11535_1535, D1536_1536, C_11537_1537, Fs_11538_1538, E_21539_1539, Va1540_1540, H_21541_1541, L_21542_1542, Pa1543_1543, E_11544_1544, S_01545_1545, A_41546_1546, S_11547_1547] :  ((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)))), eval, Pa1543_1543), E_11544_1544), S_01545_1545), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41546_1546))), S_11547_1547)) => (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)))), eval, Pa1543_1543), E_21539_1539), S_11547_1547), hAPP(val, exp(list(char)), val_1(list(char)), Va1540_1540)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_21541_1541), L_21542_1542))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_21541_1541, A_41546_1546), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11537_1537), Fs_11538_1538))) => (=(Fs_21534_1534, hAPP(option(val), fun(product_prod(list(char), list(char)), option(val)), hAPP(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val))), hAPP(fun(product_prod(list(char), list(char)), option(val)), fun(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val)))), fun_upd(product_prod(list(char), list(char)), option(val)), Fs_11538_1538), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11535_1535), D1536_1536)), hAPP(val, option(val), some(val), Va1540_1540))) => (=(H_2_11533_1533, hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), H_21541_1541), A_41546_1546), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11537_1537), Fs_21534_1534)))) => 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)))), eval, Pa1543_1543), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_11544_1544), F_11535_1535), D1536_1536), E_21539_1539)), S_01545_1545), 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))), H_2_11533_1533), L_21542_1542))))))))) & ! [L_b1548_1548, Va_11549_1549, Pa1550_1550, Eb1551_1551, S_01552_1552, Va1553_1553, Hb1554_1554, Lb1555_1555] :  ((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)))), eval, Pa1550_1550), Eb1551_1551), S_01552_1552), hAPP(val, exp(list(char)), val_1(list(char)), Va1553_1553)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1554_1554), Lb1555_1555))) => (=(L_b1548_1548, 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)), Lb1555_1555), Va_11549_1549), hAPP(val, option(val), some(val), Va1553_1553))) => 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)))), eval, Pa1550_1550), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11549_1549), Eb1551_1551)), S_01552_1552), 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))), Hb1554_1554), L_b1548_1548)))))) & ! [Ta1556_1556, Pa1557_1557, E_01558_1558, H_0_11559_1559, L_0_11560_1560, Va_11561_1561, E_11562_1562, H_11563_1563, L_11564_1564] :  ((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)))), eval, Pa1557_1557), E_01558_1558), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_0_11559_1559), 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)), L_0_11560_1560), Va_11561_1561), none(val)))), E_11562_1562), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_11563_1563), L_11564_1564))) => 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)))), eval, Pa1557_1557), 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)), Va_11561_1561), Ta1556_1556), E_01558_1558)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_0_11559_1559), L_0_11560_1560)), E_11562_1562), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_11563_1563), 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)), L_11564_1564), Va_11561_1561), hAPP(list(char), option(val), L_0_11560_1560, Va_11561_1561))))))) & ! [F_11565_1565, D1566_1566, Va1567_1567, C_11568_1568, Fs_11569_1569, Eb1570_1570, S_21571_1571, A_41572_1572, S1573_1573, Pa1574_1574] :  ((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)))), Eb1570_1570), S_21571_1571)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_41572_1572))), S1573_1573))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1574_1574)))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S1573_1573), A_41572_1572), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11568_1568), Fs_11569_1569))) => (=(hAPP(product_prod(list(char), list(char)), option(val), Fs_11569_1569, hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11565_1565), D1566_1566)), hAPP(val, option(val), some(val), Va1567_1567)) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1570_1570), F_11565_1565), D1566_1566)), S_21571_1571)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va1567_1567)), S1573_1573))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1574_1574)))))))) & ! [Pa1575_1575, Eb1576_1576, Hb1577_1577, Lb1578_1578, E_b1579_1579, H_b1580_1580, L_b1581_1581] :  ((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)))), eval, Pa1575_1575), Eb1576_1576), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1577_1577), Lb1578_1578)), E_b1579_1579), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1580_1580), L_b1581_1581))) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb1577_1577), H_b1580_1580)))) & ! [X_a1582_1582, Exp_31583_1583, List1_31584_1584, List2_31585_1585, Exp_21586_1586, List1_21587_1587, List2_21588_1588] :  ((=(hAPP(list(char), exp(X_a1582_1582), hAPP(list(char), fun(list(char), exp(X_a1582_1582)), hAPP(exp(X_a1582_1582), fun(list(char), fun(list(char), exp(X_a1582_1582))), fAcc(X_a1582_1582), Exp_31583_1583), List1_31584_1584), List2_31585_1585), hAPP(list(char), exp(X_a1582_1582), hAPP(list(char), fun(list(char), exp(X_a1582_1582)), hAPP(exp(X_a1582_1582), fun(list(char), fun(list(char), exp(X_a1582_1582))), fAcc(X_a1582_1582), Exp_21586_1586), List1_21587_1587), List2_21588_1588)) <=> ((=(Exp_31583_1583, Exp_21586_1586) & =(List1_31584_1584, List1_21587_1587)) & =(List2_31585_1585, List2_21588_1588)))) & ! [F_11589_1589, D1590_1590, Pa1591_1591, Eb1592_1592, S_21593_1593, E_b1594_1594, S1595_1595] :  ((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, Pa1591_1591), Eb1592_1592), S_21593_1593), E_b1594_1594), S1595_1595)) => 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, Pa1591_1591), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1592_1592), F_11589_1589), D1590_1590)), S_21593_1593), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), E_b1594_1594), F_11589_1589), D1590_1590)), S1595_1595)))) & ! [X_a1596_1596, Exp_11597_1597, List1_11598_1598, List2_11599_1599, Val1600_1600] :  (~=(hAPP(list(char), exp(X_a1596_1596), hAPP(list(char), fun(list(char), exp(X_a1596_1596)), hAPP(exp(X_a1596_1596), fun(list(char), fun(list(char), exp(X_a1596_1596))), fAcc(X_a1596_1596), Exp_11597_1597), List1_11598_1598), List2_11599_1599), hAPP(val, exp(X_a1596_1596), val_1(X_a1596_1596), Val1600_1600))) & ! [X_a1601_1601, Val1602_1602, Exp_11603_1603, List1_11604_1604, List2_11605_1605] :  (~=(hAPP(val, exp(X_a1601_1601), val_1(X_a1601_1601), Val1602_1602), hAPP(list(char), exp(X_a1601_1601), hAPP(list(char), fun(list(char), exp(X_a1601_1601)), hAPP(exp(X_a1601_1601), fun(list(char), fun(list(char), exp(X_a1601_1601))), fAcc(X_a1601_1601), Exp_11603_1603), List1_11604_1604), List2_11605_1605))) & ! [X_a1606_1606, Exp1_11607_1607, Exp2_11608_1608, Exp1609_1609, List11610_1610, List21611_1611] :  (~=(hAPP(exp(X_a1606_1606), exp(X_a1606_1606), hAPP(exp(X_a1606_1606), fun(exp(X_a1606_1606), exp(X_a1606_1606)), seq(X_a1606_1606), Exp1_11607_1607), Exp2_11608_1608), hAPP(list(char), exp(X_a1606_1606), hAPP(list(char), fun(list(char), exp(X_a1606_1606)), hAPP(exp(X_a1606_1606), fun(list(char), fun(list(char), exp(X_a1606_1606))), fAcc(X_a1606_1606), Exp1609_1609), List11610_1610), List21611_1611))) & ! [X_a1612_1612, A_21613_1613, Exp1614_1614, Exp_11615_1615, List1_11616_1616, List2_11617_1617] :  (~=(hAPP(exp(X_a1612_1612), exp(X_a1612_1612), hAPP(X_a1612_1612, fun(exp(X_a1612_1612), exp(X_a1612_1612)), lAss(X_a1612_1612), A_21613_1613), Exp1614_1614), hAPP(list(char), exp(X_a1612_1612), hAPP(list(char), fun(list(char), exp(X_a1612_1612)), hAPP(exp(X_a1612_1612), fun(list(char), fun(list(char), exp(X_a1612_1612))), fAcc(X_a1612_1612), Exp_11615_1615), List1_11616_1616), List2_11617_1617))) & ! [X_a1618_1618, Exp1619_1619, List11620_1620, List21621_1621, Exp1_11622_1622, Exp2_11623_1623] :  (~=(hAPP(list(char), exp(X_a1618_1618), hAPP(list(char), fun(list(char), exp(X_a1618_1618)), hAPP(exp(X_a1618_1618), fun(list(char), fun(list(char), exp(X_a1618_1618))), fAcc(X_a1618_1618), Exp1619_1619), List11620_1620), List21621_1621), hAPP(exp(X_a1618_1618), exp(X_a1618_1618), hAPP(exp(X_a1618_1618), fun(exp(X_a1618_1618), exp(X_a1618_1618)), seq(X_a1618_1618), Exp1_11622_1622), Exp2_11623_1623))) & ! [X_a1624_1624, Exp_11625_1625, List1_11626_1626, List2_11627_1627, A_21628_1628, Exp1629_1629] :  (~=(hAPP(list(char), exp(X_a1624_1624), hAPP(list(char), fun(list(char), exp(X_a1624_1624)), hAPP(exp(X_a1624_1624), fun(list(char), fun(list(char), exp(X_a1624_1624))), fAcc(X_a1624_1624), Exp_11625_1625), List1_11626_1626), List2_11627_1627), hAPP(exp(X_a1624_1624), exp(X_a1624_1624), hAPP(X_a1624_1624, fun(exp(X_a1624_1624), exp(X_a1624_1624)), lAss(X_a1624_1624), A_21628_1628), Exp1629_1629))) & ! [X_a1630_1630, Exp1_11631_1631, List1_11632_1632, List2_11633_1633, Exp2_11634_1634, Exp1635_1635, List11636_1636, List21637_1637] :  (~=(hAPP(exp(X_a1630_1630), exp(X_a1630_1630), hAPP(list(char), fun(exp(X_a1630_1630), exp(X_a1630_1630)), hAPP(list(char), fun(list(char), fun(exp(X_a1630_1630), exp(X_a1630_1630))), hAPP(exp(X_a1630_1630), fun(list(char), fun(list(char), fun(exp(X_a1630_1630), exp(X_a1630_1630)))), fAss(X_a1630_1630), Exp1_11631_1631), List1_11632_1632), List2_11633_1633), Exp2_11634_1634), hAPP(list(char), exp(X_a1630_1630), hAPP(list(char), fun(list(char), exp(X_a1630_1630)), hAPP(exp(X_a1630_1630), fun(list(char), fun(list(char), exp(X_a1630_1630))), fAcc(X_a1630_1630), Exp1635_1635), List11636_1636), List21637_1637))) & ! [X_a1638_1638, Exp1639_1639, List11640_1640, List21641_1641, Exp1_11642_1642, List1_11643_1643, List2_11644_1644, Exp2_11645_1645] :  (~=(hAPP(list(char), exp(X_a1638_1638), hAPP(list(char), fun(list(char), exp(X_a1638_1638)), hAPP(exp(X_a1638_1638), fun(list(char), fun(list(char), exp(X_a1638_1638))), fAcc(X_a1638_1638), Exp1639_1639), List11640_1640), List21641_1641), hAPP(exp(X_a1638_1638), exp(X_a1638_1638), hAPP(list(char), fun(exp(X_a1638_1638), exp(X_a1638_1638)), hAPP(list(char), fun(list(char), fun(exp(X_a1638_1638), exp(X_a1638_1638))), hAPP(exp(X_a1638_1638), fun(list(char), fun(list(char), fun(exp(X_a1638_1638), exp(X_a1638_1638)))), fAss(X_a1638_1638), Exp1_11642_1642), List1_11643_1643), List2_11644_1644), Exp2_11645_1645))) & ! [X_a1646_1646, Exp1647_1647, List11648_1648, List21649_1649, A_11650_1650, Ty_11651_1651, Exp_11652_1652] :  (~=(hAPP(list(char), exp(X_a1646_1646), hAPP(list(char), fun(list(char), exp(X_a1646_1646)), hAPP(exp(X_a1646_1646), fun(list(char), fun(list(char), exp(X_a1646_1646))), fAcc(X_a1646_1646), Exp1647_1647), List11648_1648), List21649_1649), hAPP(exp(X_a1646_1646), exp(X_a1646_1646), hAPP(ty, fun(exp(X_a1646_1646), exp(X_a1646_1646)), hAPP(X_a1646_1646, fun(ty, fun(exp(X_a1646_1646), exp(X_a1646_1646))), block(X_a1646_1646), A_11650_1650), Ty_11651_1651), Exp_11652_1652))) & ! [X_a1653_1653, A_11654_1654, Ty_11655_1655, Exp_11656_1656, Exp1657_1657, List11658_1658, List21659_1659] :  (~=(hAPP(exp(X_a1653_1653), exp(X_a1653_1653), hAPP(ty, fun(exp(X_a1653_1653), exp(X_a1653_1653)), hAPP(X_a1653_1653, fun(ty, fun(exp(X_a1653_1653), exp(X_a1653_1653))), block(X_a1653_1653), A_11654_1654), Ty_11655_1655), Exp_11656_1656), hAPP(list(char), exp(X_a1653_1653), hAPP(list(char), fun(list(char), exp(X_a1653_1653)), hAPP(exp(X_a1653_1653), fun(list(char), fun(list(char), exp(X_a1653_1653))), fAcc(X_a1653_1653), Exp1657_1657), List11658_1658), List21659_1659))) & ! [X_a1660_1660, Eb1661_1661, F_11662_1662, D1663_1663, A_51664_1664] :  ((hBOOL(hAPP(option(fun(X_a1660_1660, bool)), bool, hAPP(exp(X_a1660_1660), fun(option(fun(X_a1660_1660, bool)), bool), d(X_a1660_1660), hAPP(list(char), exp(X_a1660_1660), hAPP(list(char), fun(list(char), exp(X_a1660_1660)), hAPP(exp(X_a1660_1660), fun(list(char), fun(list(char), exp(X_a1660_1660))), fAcc(X_a1660_1660), Eb1661_1661), F_11662_1662), D1663_1663)), A_51664_1664)) <=> hBOOL(hAPP(option(fun(X_a1660_1660, bool)), bool, hAPP(exp(X_a1660_1660), fun(option(fun(X_a1660_1660, bool)), bool), d(X_a1660_1660), Eb1661_1661), A_51664_1664)))) & ! [F_11665_1665, D1666_1666, Eb1667_1667, S_21668_1668, E_b1669_1669, S1670_1670, Pa1671_1671] :  ((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)))), Eb1667_1667), S_21668_1668)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1669_1669), S1670_1670))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1671_1671))) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1667_1667), F_11665_1665), D1666_1666)), S_21668_1668)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), E_b1669_1669), F_11665_1665), D1666_1666)), S1670_1670))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1671_1671))))) & ! [F_11672_1672, D1673_1673, Eb1674_1674, S_21675_1675, E_b1676_1676, S1677_1677, Pa1678_1678] :  ((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)))), Eb1674_1674), S_21675_1675)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1676_1676), S1677_1677))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1678_1678)))) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1674_1674), F_11672_1672), D1673_1673)), S_21675_1675)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), E_b1676_1676), F_11672_1672), D1673_1673)), S1677_1677))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1678_1678)))))) & ! [F_11679_1679, D1680_1680, Va1681_1681, C_11682_1682, Fs_11683_1683, Pa1684_1684, Eb1685_1685, S_01686_1686, A_41687_1687, Hb1688_1688, Lb1689_1689] :  ((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)))), eval, Pa1684_1684), Eb1685_1685), S_01686_1686), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41687_1687))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1688_1688), Lb1689_1689))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1688_1688, A_41687_1687), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11682_1682), Fs_11683_1683))) => (=(hAPP(product_prod(list(char), list(char)), option(val), Fs_11683_1683, hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11679_1679), D1680_1680)), hAPP(val, option(val), some(val), Va1681_1681)) => 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)))), eval, Pa1684_1684), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1685_1685), F_11679_1679), D1680_1680)), S_01686_1686), hAPP(val, exp(list(char)), val_1(list(char)), Va1681_1681)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1688_1688), Lb1689_1689))))))) & ! [Pa1690_1690, Va1691_1691, S_21692_1692] :  (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)))), eval, Pa1690_1690), hAPP(val, exp(list(char)), val_1(list(char)), Va1691_1691)), S_21692_1692), hAPP(val, exp(list(char)), val_1(list(char)), Va1691_1691)), S_21692_1692))) & ! [Pa1693_1693, Va1694_1694, S_21695_1695, E_b1696_1696, S1697_1697] :  ((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)))), eval, Pa1693_1693), hAPP(val, exp(list(char)), val_1(list(char)), Va1694_1694)), S_21695_1695), E_b1696_1696), S1697_1697)) => ~(=(E_b1696_1696, hAPP(val, exp(list(char)), val_1(list(char)), Va1694_1694)) => ~=(S1697_1697, S_21695_1695)))) & ! [Pa1698_1698, Eb1699_1699, S_21700_1700, E_b1701_1701, S1702_1702] :  ((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)))), eval, Pa1698_1698), Eb1699_1699), S_21700_1700), E_b1701_1701), S1702_1702)) => hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_b1701_1701)))) & ! [Pa1703_1703, S_21704_1704, Eb1705_1705] :  ((hBOOL(hAPP(exp(list(char)), bool, final(list(char)), Eb1705_1705)) => 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)))), eval, Pa1703_1703), Eb1705_1705), S_21704_1704), Eb1705_1705), S_21704_1704)))) & ! [Pa1706_1706, F_11707_1707, D1708_1708, Va1709_1709, S_21710_1710, A_41711_1711, C_11712_1712, Fs_11713_1713] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_21710_1710), A_41711_1711), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11712_1712), Fs_11713_1713))) => (=(hAPP(product_prod(list(char), list(char)), option(val), Fs_11713_1713, hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11707_1707), D1708_1708)), hAPP(val, option(val), some(val), Va1709_1709)) => 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, Pa1706_1706), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41711_1711))), F_11707_1707), D1708_1708)), S_21710_1710), hAPP(val, exp(list(char)), val_1(list(char)), Va1709_1709)), S_21710_1710))))) & ! [Pa1714_1714, F_11715_1715, D1716_1716, Va1717_1717, S_21718_1718, A_41719_1719, C_11720_1720, Fs_11721_1721] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_21718_1718), A_41719_1719), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11720_1720), Fs_11721_1721))) => (=(hAPP(product_prod(list(char), list(char)), option(val), Fs_11721_1721, hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11715_1715), D1716_1716)), hAPP(val, option(val), some(val), Va1717_1717)) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41719_1719))), F_11715_1715), D1716_1716)), S_21718_1718)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va1717_1717)), S_21718_1718))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1714_1714)))))) & ! [E_11722_1722, E_21723_1723, S_2_11724_1724, Pa1725_1725, E_01726_1726, S_01727_1727, Va1728_1728, S_11729_1729] :  ((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)))), eval, Pa1725_1725), E_01726_1726), S_01727_1727), hAPP(val, exp(list(char)), val_1(list(char)), Va1728_1728)), S_11729_1729)) => (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)))), eval, Pa1725_1725), E_11722_1722), S_11729_1729), E_21723_1723), S_2_11724_1724)) => 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)))), eval, Pa1725_1725), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), E_01726_1726), E_11722_1722)), S_01727_1727), E_21723_1723), S_2_11724_1724))))) & ! [Pa1730_1730, Va_11731_1731, Ta1732_1732, E_11733_1733, S_21734_1734, E_b1735_1735, S1736_1736] :  ((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)))), eval, Pa1730_1730), 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)), Va_11731_1731), Ta1732_1732), E_11733_1733)), S_21734_1734), E_b1735_1735), S1736_1736)) => ~! [H_01737_1737, L_01738_1738] :  ((=(S_21734_1734, hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_01737_1737), L_01738_1738)) => ! [H_1_11739_1739, L_1_11740_1740] :  ((=(S1736_1736, hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_1_11739_1739), 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)), L_1_11740_1740), Va_11731_1731), hAPP(list(char), option(val), L_01738_1738, Va_11731_1731)))) => ~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)))), eval, Pa1730_1730), E_11733_1733), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_01737_1737), 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)), L_01738_1738), Va_11731_1731), none(val)))), E_b1735_1735), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_1_11739_1739), L_1_11740_1740))))))))) & ! [Va_11741_1741, Ta1742_1742, Va1743_1743, A_41744_1744, S_21745_1745, Pa1746_1746] :  (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)), Va_11741_1741), Ta1742_1742), 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)), Va_11741_1741), hAPP(val, exp(list(char)), val_1(list(char)), Va1743_1743))), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41744_1744)))))), S_21745_1745)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41744_1744)))), S_21745_1745))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1746_1746)))) & ! [Nat_11747_1747] :  (~=(hAPP(nat, val, addr, Nat_11747_1747), unit)) & ! [Nat_11748_1748] :  (~=(unit, hAPP(nat, val, addr, Nat_11748_1748))) & ! [Pa1749_1749, Va_11750_1750, Ta1751_1751, Va1752_1752, A_41753_1753, S_21754_1754] :  (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, Pa1749_1749), 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)), Va_11750_1750), Ta1751_1751), 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)), Va_11750_1750), hAPP(val, exp(list(char)), val_1(list(char)), Va1752_1752))), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41753_1753)))))), S_21754_1754), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41753_1753)))), S_21754_1754))) & ! [Pa1755_1755, Eb1756_1756, S_01757_1757, E_b1758_1758, S_11759_1759] :  ((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)))), eval, Pa1755_1755), Eb1756_1756), S_01757_1757), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1758_1758)), S_11759_1759)) => 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)))), eval, Pa1755_1755), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1756_1756)), S_01757_1757), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1758_1758)), S_11759_1759)))) & ! [Pa1760_1760, Eb1761_1761, S_21762_1762, E_b1763_1763, S1764_1764] :  ((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, Pa1760_1760), Eb1761_1761), S_21762_1762), E_b1763_1763), S1764_1764)) => 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, Pa1760_1760), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1761_1761)), S_21762_1762), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1763_1763)), S1764_1764)))) & ! [Pa1765_1765, Eb1766_1766, S_21767_1767] :  (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, Pa1765_1765), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1766_1766))), S_21767_1767), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1766_1766)), S_21767_1767))) & ! [X_a1768_1768, Exp_31769_1769, Exp_21770_1770] :  ((=(hAPP(exp(X_a1768_1768), exp(X_a1768_1768), throw(X_a1768_1768), Exp_31769_1769), hAPP(exp(X_a1768_1768), exp(X_a1768_1768), throw(X_a1768_1768), Exp_21770_1770)) <=> =(Exp_31769_1769, Exp_21770_1770))) & ! [X_a1771_1771, Val1772_1772, Exp_11773_1773] :  (~=(hAPP(val, exp(X_a1771_1771), val_1(X_a1771_1771), Val1772_1772), hAPP(exp(X_a1771_1771), exp(X_a1771_1771), throw(X_a1771_1771), Exp_11773_1773))) & ! [X_a1774_1774, Exp_11775_1775, Val1776_1776] :  (~=(hAPP(exp(X_a1774_1774), exp(X_a1774_1774), throw(X_a1774_1774), Exp_11775_1775), hAPP(val, exp(X_a1774_1774), val_1(X_a1774_1774), Val1776_1776))) & ! [X_a1777_1777, A_21778_1778, Exp1779_1779, Exp_11780_1780] :  (~=(hAPP(exp(X_a1777_1777), exp(X_a1777_1777), hAPP(X_a1777_1777, fun(exp(X_a1777_1777), exp(X_a1777_1777)), lAss(X_a1777_1777), A_21778_1778), Exp1779_1779), hAPP(exp(X_a1777_1777), exp(X_a1777_1777), throw(X_a1777_1777), Exp_11780_1780))) & ! [X_a1781_1781, Exp11782_1782, Exp21783_1783, Exp_11784_1784] :  (~=(hAPP(exp(X_a1781_1781), exp(X_a1781_1781), hAPP(exp(X_a1781_1781), fun(exp(X_a1781_1781), exp(X_a1781_1781)), seq(X_a1781_1781), Exp11782_1782), Exp21783_1783), hAPP(exp(X_a1781_1781), exp(X_a1781_1781), throw(X_a1781_1781), Exp_11784_1784))) & ! [X_a1785_1785, Exp_11786_1786, A_21787_1787, Exp1788_1788] :  (~=(hAPP(exp(X_a1785_1785), exp(X_a1785_1785), throw(X_a1785_1785), Exp_11786_1786), hAPP(exp(X_a1785_1785), exp(X_a1785_1785), hAPP(X_a1785_1785, fun(exp(X_a1785_1785), exp(X_a1785_1785)), lAss(X_a1785_1785), A_21787_1787), Exp1788_1788))) & ! [X_a1789_1789, Exp_11790_1790, Exp11791_1791, Exp21792_1792] :  (~=(hAPP(exp(X_a1789_1789), exp(X_a1789_1789), throw(X_a1789_1789), Exp_11790_1790), hAPP(exp(X_a1789_1789), exp(X_a1789_1789), hAPP(exp(X_a1789_1789), fun(exp(X_a1789_1789), exp(X_a1789_1789)), seq(X_a1789_1789), Exp11791_1791), Exp21792_1792))) & ! [X_a1793_1793, Exp_11794_1794, Exp11795_1795, List11796_1796, List21797_1797, Exp21798_1798] :  (~=(hAPP(exp(X_a1793_1793), exp(X_a1793_1793), throw(X_a1793_1793), Exp_11794_1794), hAPP(exp(X_a1793_1793), exp(X_a1793_1793), hAPP(list(char), fun(exp(X_a1793_1793), exp(X_a1793_1793)), hAPP(list(char), fun(list(char), fun(exp(X_a1793_1793), exp(X_a1793_1793))), hAPP(exp(X_a1793_1793), fun(list(char), fun(list(char), fun(exp(X_a1793_1793), exp(X_a1793_1793)))), fAss(X_a1793_1793), Exp11795_1795), List11796_1796), List21797_1797), Exp21798_1798))) & ! [X_a1799_1799, Exp11800_1800, List11801_1801, List21802_1802, Exp21803_1803, Exp_11804_1804] :  (~=(hAPP(exp(X_a1799_1799), exp(X_a1799_1799), hAPP(list(char), fun(exp(X_a1799_1799), exp(X_a1799_1799)), hAPP(list(char), fun(list(char), fun(exp(X_a1799_1799), exp(X_a1799_1799))), hAPP(exp(X_a1799_1799), fun(list(char), fun(list(char), fun(exp(X_a1799_1799), exp(X_a1799_1799)))), fAss(X_a1799_1799), Exp11800_1800), List11801_1801), List21802_1802), Exp21803_1803), hAPP(exp(X_a1799_1799), exp(X_a1799_1799), throw(X_a1799_1799), Exp_11804_1804))) & ! [X_a1805_1805, A_21806_1806, Ty1807_1807, Exp1808_1808, Exp_11809_1809] :  (~=(hAPP(exp(X_a1805_1805), exp(X_a1805_1805), hAPP(ty, fun(exp(X_a1805_1805), exp(X_a1805_1805)), hAPP(X_a1805_1805, fun(ty, fun(exp(X_a1805_1805), exp(X_a1805_1805))), block(X_a1805_1805), A_21806_1806), Ty1807_1807), Exp1808_1808), hAPP(exp(X_a1805_1805), exp(X_a1805_1805), throw(X_a1805_1805), Exp_11809_1809))) & ! [X_a1810_1810, Exp_11811_1811, A_21812_1812, Ty1813_1813, Exp1814_1814] :  (~=(hAPP(exp(X_a1810_1810), exp(X_a1810_1810), throw(X_a1810_1810), Exp_11811_1811), hAPP(exp(X_a1810_1810), exp(X_a1810_1810), hAPP(ty, fun(exp(X_a1810_1810), exp(X_a1810_1810)), hAPP(X_a1810_1810, fun(ty, fun(exp(X_a1810_1810), exp(X_a1810_1810))), block(X_a1810_1810), A_21812_1812), Ty1813_1813), Exp1814_1814))) & ! [X_a1815_1815, Exp_11816_1816, Exp1817_1817, List11818_1818, List21819_1819] :  (~=(hAPP(exp(X_a1815_1815), exp(X_a1815_1815), throw(X_a1815_1815), Exp_11816_1816), hAPP(list(char), exp(X_a1815_1815), hAPP(list(char), fun(list(char), exp(X_a1815_1815)), hAPP(exp(X_a1815_1815), fun(list(char), fun(list(char), exp(X_a1815_1815))), fAcc(X_a1815_1815), Exp1817_1817), List11818_1818), List21819_1819))) & ! [X_a1820_1820, Exp1821_1821, List11822_1822, List21823_1823, Exp_11824_1824] :  (~=(hAPP(list(char), exp(X_a1820_1820), hAPP(list(char), fun(list(char), exp(X_a1820_1820)), hAPP(exp(X_a1820_1820), fun(list(char), fun(list(char), exp(X_a1820_1820))), fAcc(X_a1820_1820), Exp1821_1821), List11822_1822), List21823_1823), hAPP(exp(X_a1820_1820), exp(X_a1820_1820), throw(X_a1820_1820), Exp_11824_1824))) & ! [X_a1825_1825, Eb1826_1826, A_51827_1827] :  ((hBOOL(hAPP(option(fun(X_a1825_1825, bool)), bool, hAPP(exp(X_a1825_1825), fun(option(fun(X_a1825_1825, bool)), bool), d(X_a1825_1825), hAPP(exp(X_a1825_1825), exp(X_a1825_1825), throw(X_a1825_1825), Eb1826_1826)), A_51827_1827)) <=> hBOOL(hAPP(option(fun(X_a1825_1825, bool)), bool, hAPP(exp(X_a1825_1825), fun(option(fun(X_a1825_1825, bool)), bool), d(X_a1825_1825), Eb1826_1826), A_51827_1827)))) & ! [Va_11828_1828, Pa1829_1829, Eb1830_1830, S_01831_1831, E_b1832_1832, S_11833_1833] :  ((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)))), eval, Pa1829_1829), Eb1830_1830), S_01831_1831), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1832_1832)), S_11833_1833)) => 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)))), eval, Pa1829_1829), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11828_1828), Eb1830_1830)), S_01831_1831), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1832_1832)), S_11833_1833)))) & ! [E_11834_1834, Pa1835_1835, E_01836_1836, S_01837_1837, Eb1838_1838, S_11839_1839] :  ((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)))), eval, Pa1835_1835), E_01836_1836), S_01837_1837), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1838_1838)), S_11839_1839)) => 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)))), eval, Pa1835_1835), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), E_01836_1836), E_11834_1834)), S_01837_1837), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1838_1838)), S_11839_1839)))) & ! [F_11840_1840, D1841_1841, E_21842_1842, Pa1843_1843, E_11844_1844, S_01845_1845, E_b1846_1846, S_11847_1847] :  ((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)))), eval, Pa1843_1843), E_11844_1844), S_01845_1845), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1846_1846)), S_11847_1847)) => 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)))), eval, Pa1843_1843), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_11844_1844), F_11840_1840), D1841_1841), E_21842_1842)), S_01845_1845), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1846_1846)), S_11847_1847)))) & ! [Pa1848_1848, Va_11849_1849, Eb1850_1850, S_21851_1851] :  (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, Pa1848_1848), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11849_1849), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1850_1850))), S_21851_1851), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1850_1850)), S_21851_1851))) & ! [Pa1852_1852, Eb1853_1853, E_21854_1854, S_21855_1855] :  (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, Pa1852_1852), 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)), throw(list(char)), Eb1853_1853)), E_21854_1854)), S_21855_1855), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1853_1853)), S_21855_1855))) & ! [F_11856_1856, D1857_1857, Pa1858_1858, Eb1859_1859, S_01860_1860, E_b1861_1861, S_11862_1862] :  ((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)))), eval, Pa1858_1858), Eb1859_1859), S_01860_1860), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1861_1861)), S_11862_1862)) => 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)))), eval, Pa1858_1858), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1859_1859), F_11856_1856), D1857_1857)), S_01860_1860), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1861_1861)), S_11862_1862)))) & ! [Pa1863_1863, Eb1864_1864, F_11865_1865, D1866_1866, E_21867_1867, S_21868_1868] :  (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, Pa1863_1863), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1864_1864)), F_11865_1865), D1866_1866), E_21867_1867)), S_21868_1868), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1864_1864)), S_21868_1868))) & ! [Pa1869_1869, Eb1870_1870, F_11871_1871, D1872_1872, S_21873_1873] :  (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, Pa1869_1869), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1870_1870)), F_11871_1871), D1872_1872)), S_21873_1873), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1870_1870)), S_21873_1873))) & ! [Eb1874_1874, S_21875_1875, Pa1876_1876] :  (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)), throw(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1874_1874))), S_21875_1875)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1874_1874)), S_21875_1875))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1876_1876)))) & ! [Eb1877_1877, S_21878_1878, E_b1879_1879, S1880_1880, Pa1881_1881] :  ((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)))), Eb1877_1877), S_21878_1878)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1879_1879), S1880_1880))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1881_1881))) => 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)), throw(list(char)), Eb1877_1877)), S_21878_1878)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1879_1879)), S1880_1880))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1881_1881))))) & ! [Pa1882_1882, Eb1883_1883, S_01884_1884, A_41885_1885, S_11886_1886] :  ((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)))), eval, Pa1882_1882), Eb1883_1883), S_01884_1884), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41885_1885))), S_11886_1886)) => 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)))), eval, Pa1882_1882), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1883_1883)), S_01884_1884), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41885_1885)))), S_11886_1886)))) & ! [F_11887_1887, D1888_1888, E_21889_1889, E_b1890_1890, S_2_11891_1891, Pa1892_1892, E_11893_1893, S_01894_1894, Va1895_1895, S_11896_1896] :  ((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)))), eval, Pa1892_1892), E_11893_1893), S_01894_1894), hAPP(val, exp(list(char)), val_1(list(char)), Va1895_1895)), S_11896_1896)) => (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)))), eval, Pa1892_1892), E_21889_1889), S_11896_1896), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1890_1890)), S_2_11891_1891)) => 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)))), eval, Pa1892_1892), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_11893_1893), F_11887_1887), D1888_1888), E_21889_1889)), S_01894_1894), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1890_1890)), S_2_11891_1891))))) & ! [Pa1897_1897, Va1898_1898, F_11899_1899, D1900_1900, Eb1901_1901, S_21902_1902] :  (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, Pa1897_1897), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1898_1898)), F_11899_1899), D1900_1900), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1901_1901))), S_21902_1902), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1901_1901)), S_21902_1902))) & ! [Nat_21903_1903, Nat1904_1904] :  ((=(hAPP(nat, val, addr, Nat_21903_1903), hAPP(nat, val, addr, Nat1904_1904)) <=> =(Nat_21903_1903, Nat1904_1904))) & ! [Eb1909_1909, S_21910_1910, E_b1911_1911, S1912_1912, Pa1913_1913] :  ((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)))), Eb1909_1909), S_21910_1910)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1911_1911), S1912_1912))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1913_1913)))) => 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)), throw(list(char)), Eb1909_1909)), S_21910_1910)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1911_1911)), S1912_1912))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1913_1913)))))) & ! [Eb1914_1914, S_21915_1915, A_41916_1916, S1917_1917, Pa1918_1918] :  ((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)))), Eb1914_1914), S_21915_1915)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41916_1916)), S1917_1917))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1918_1918)))) => 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)), throw(list(char)), Eb1914_1914)), S_21915_1915)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41916_1916)), S1917_1917))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1918_1918)))))) & ! [Va_11919_1919, Eb1920_1920, S_21921_1921, Pa1922_1922] :  (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)), Va_11919_1919), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1920_1920))), S_21921_1921)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1920_1920)), S_21921_1921))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1922_1922)))) & ! [Eb1923_1923, E_21924_1924, S_21925_1925, Pa1926_1926] :  (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(exp(list(char)), exp(list(char)), throw(list(char)), Eb1923_1923)), E_21924_1924)), S_21925_1925)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1923_1923)), S_21925_1925))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1926_1926)))) & ! [Eb1927_1927, F_11928_1928, D1929_1929, E_21930_1930, S_21931_1931, Pa1932_1932] :  (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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1927_1927)), F_11928_1928), D1929_1929), E_21930_1930)), S_21931_1931)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1927_1927)), S_21931_1931))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1932_1932)))) & ! [Eb1933_1933, F_11934_1934, D1935_1935, S_21936_1936, Pa1937_1937] :  (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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1933_1933)), F_11934_1934), D1935_1935)), S_21936_1936)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1933_1933)), S_21936_1936))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1937_1937)))) & ! [Pa1938_1938, Va_11939_1939, Ta1940_1940, A_41941_1941, S_21942_1942] :  (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, Pa1938_1938), 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)), Va_11939_1939), Ta1940_1940), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41941_1941))))), S_21942_1942), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41941_1941)))), S_21942_1942))) & ! [Va1943_1943, F_11944_1944, D1945_1945, Eb1946_1946, S_21947_1947, Pa1948_1948] :  (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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1943_1943)), F_11944_1944), D1945_1945), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1946_1946))), S_21947_1947)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1946_1946)), S_21947_1947))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1948_1948)))) & ! [Va_11949_1949, Eb1950_1950, S_21951_1951, A_41952_1952, S1953_1953, Pa1954_1954] :  ((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)))), Eb1950_1950), S_21951_1951)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41952_1952)), S1953_1953))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1954_1954)))) => 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)), Va_11949_1949), Eb1950_1950)), S_21951_1951)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41952_1952)), S1953_1953))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1954_1954)))))) & ! [E_21955_1955, Eb1956_1956, S_21957_1957, E_b1958_1958, S1959_1959, Pa1960_1960] :  ((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)))), Eb1956_1956), S_21957_1957)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1958_1958)), S1959_1959))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1960_1960)))) => 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)), Eb1956_1956), E_21955_1955)), S_21957_1957)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1958_1958)), S1959_1959))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1960_1960)))))) & ! [F_11961_1961, D1962_1962, E_21963_1963, Eb1964_1964, S_21965_1965, E_b1966_1966, S1967_1967, Pa1968_1968] :  ((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)))), Eb1964_1964), S_21965_1965)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1966_1966)), S1967_1967))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1968_1968)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), Eb1964_1964), F_11961_1961), D1962_1962), E_21963_1963)), S_21965_1965)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1966_1966)), S1967_1967))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1968_1968)))))) & ! [F_11969_1969, D1970_1970, Eb1971_1971, S_21972_1972, A_41973_1973, S1974_1974, Pa1975_1975] :  ((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)))), Eb1971_1971), S_21972_1972)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41973_1973)), S1974_1974))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1975_1975)))) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1971_1971), F_11969_1969), D1970_1970)), S_21972_1972)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41973_1973)), S1974_1974))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1975_1975)))))) & ! [F_11976_1976, D1977_1977, E_21978_1978, Eb1979_1979, S_2_11980_1980, E_11981_1981, S_01982_1982, Va1983_1983, S_11984_1984, Pa1985_1985] :  ((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)))), E_11981_1981), S_01982_1982)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va1983_1983)), S_11984_1984))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1985_1985)))) => (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)))), E_21978_1978), S_11984_1984)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1979_1979)), S_2_11980_1980))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1985_1985)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_11981_1981), F_11976_1976), D1977_1977), E_21978_1978)), S_01982_1982)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1979_1979)), S_2_11980_1980))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1985_1985))))))) & ! [Va_11986_1986, Ta1987_1987, A_41988_1988, S_21989_1989, Pa1990_1990] :  (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)), Va_11986_1986), Ta1987_1987), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41988_1988))))), S_21989_1989)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41988_1988)))), S_21989_1989))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1990_1990)))) & ! [Pa1991_1991, Va_11992_1992, Eb1993_1993, S_21994_1994, E_b1995_1995, S1996_1996] :  ((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)))), eval, Pa1991_1991), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11992_1992), Eb1993_1993)), S_21994_1994), E_b1995_1995), S1996_1996)) => ((=(E_b1995_1995, hAPP(val, exp(list(char)), val_1(list(char)), unit)) => ! [V_31997_1997, H1998_1998, L1999_1999] :  ((=(S1996_1996, hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), H1998_1998), 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)), L1999_1999), Va_11992_1992), hAPP(val, option(val), some(val), V_31997_1997)))) => ~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)))), eval, Pa1991_1991), Eb1993_1993), S_21994_1994), hAPP(val, exp(list(char)), val_1(list(char)), V_31997_1997)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), H1998_1998), L1999_1999)))))) => ~! [E_32000_2000] :  ((=(E_b1995_1995, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_32000_2000)) => ~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)))), eval, Pa1991_1991), Eb1993_1993), S_21994_1994), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_32000_2000)), S1996_1996))))))) & ! [X_a2001_2001, E_42002_2002] :  ((hBOOL(hAPP(exp(X_a2001_2001), bool, final(X_a2001_2001), E_42002_2002)) => (! [V_32003_2003] :  (~=(E_42002_2002, hAPP(val, exp(X_a2001_2001), val_1(X_a2001_2001), V_32003_2003))) => ~! [A_32004_2004] :  (~=(E_42002_2002, hAPP(exp(X_a2001_2001), exp(X_a2001_2001), throw(X_a2001_2001), hAPP(val, exp(X_a2001_2001), val_1(X_a2001_2001), hAPP(nat, val, addr, A_32004_2004)))))))) & ! [Pa2005_2005, E_12006_2006, E_22007_2007, S_22008_2008, E_b2009_2009, S2010_2010] :  ((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)))), eval, Pa2005_2005), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), E_12006_2006), E_22007_2007)), S_22008_2008), E_b2009_2009), S2010_2010)) => (! [V_32011_2011, S_1_12012_2012] :  ((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)))), eval, Pa2005_2005), E_12006_2006), S_22008_2008), hAPP(val, exp(list(char)), val_1(list(char)), V_32011_2011)), S_1_12012_2012)) => ~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)))), eval, Pa2005_2005), E_22007_2007), S_1_12012_2012), E_b2009_2009), S2010_2010)))) => ~! [E2013_2013] :  ((=(E_b2009_2009, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E2013_2013)) => ~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)))), eval, Pa2005_2005), E_12006_2006), S_22008_2008), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E2013_2013)), S2010_2010))))))) & ! [E_22014_2014, Va_12015_2015, E_2_12016_2016, H_22017_2017, L_22018_2018, C_12019_2019, D2020_2020, Fs_12021_2021, E_12022_2022, S_02023_2023, A_42024_2024, H_12025_2025, L_12026_2026, Pa2027_2027] :  ((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)))), E_12022_2022), S_02023_2023)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42024_2024)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12025_2025), L_12026_2026)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2027_2027)))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_12025_2025, A_42024_2024), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2020_2020), Fs_12021_2021))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2020_2020), C_12019_2019)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2027_2027)))) => (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)))), E_22014_2014), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12025_2025), 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)), L_12026_2026), Va_12015_2015), hAPP(val, option(val), some(val), hAPP(nat, val, addr, A_42024_2024)))))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_2_12016_2016), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_22017_2017), L_22018_2018)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2027_2027)))) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_2_12016_2016)) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12022_2022), C_12019_2019), Va_12015_2015), E_22014_2014)), S_02023_2023)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_2_12016_2016), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_22017_2017), 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)), L_22018_2018), Va_12015_2015), hAPP(list(char), option(val), L_12026_2026, Va_12015_2015)))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2027_2027)))))))))) & ! [X_a2028_2028, Exp2029_2029, Exp1_12030_2030, List2031_2031, A_12032_2032, Exp2_12033_2033] :  (~=(hAPP(exp(X_a2028_2028), exp(X_a2028_2028), throw(X_a2028_2028), Exp2029_2029), hAPP(exp(X_a2028_2028), exp(X_a2028_2028), hAPP(X_a2028_2028, fun(exp(X_a2028_2028), exp(X_a2028_2028)), hAPP(list(char), fun(X_a2028_2028, fun(exp(X_a2028_2028), exp(X_a2028_2028))), hAPP(exp(X_a2028_2028), fun(list(char), fun(X_a2028_2028, fun(exp(X_a2028_2028), exp(X_a2028_2028)))), tryCatch(X_a2028_2028), Exp1_12030_2030), List2031_2031), A_12032_2032), Exp2_12033_2033))) & ! [X_a2034_2034, Exp1_12035_2035, List2036_2036, A_12037_2037, Exp2_12038_2038, Exp2039_2039] :  (~=(hAPP(exp(X_a2034_2034), exp(X_a2034_2034), hAPP(X_a2034_2034, fun(exp(X_a2034_2034), exp(X_a2034_2034)), hAPP(list(char), fun(X_a2034_2034, fun(exp(X_a2034_2034), exp(X_a2034_2034))), hAPP(exp(X_a2034_2034), fun(list(char), fun(X_a2034_2034, fun(exp(X_a2034_2034), exp(X_a2034_2034)))), tryCatch(X_a2034_2034), Exp1_12035_2035), List2036_2036), A_12037_2037), Exp2_12038_2038), hAPP(exp(X_a2034_2034), exp(X_a2034_2034), throw(X_a2034_2034), Exp2039_2039))) & ! [C_12040_2040, Va_12041_2041, E_22042_2042, Pa2043_2043, Eb2044_2044, S_22045_2045, E_b2046_2046, S2047_2047] :  ((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, Pa2043_2043), Eb2044_2044), S_22045_2045), E_b2046_2046), S2047_2047)) => 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, Pa2043_2043), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), Eb2044_2044), C_12040_2040), Va_12041_2041), E_22042_2042)), S_22045_2045), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_b2046_2046), C_12040_2040), Va_12041_2041), E_22042_2042)), S2047_2047)))) & ! [X_a2048_2048, Val2049_2049, Exp1_12050_2050, List2051_2051, A_12052_2052, Exp2_12053_2053] :  (~=(hAPP(val, exp(X_a2048_2048), val_1(X_a2048_2048), Val2049_2049), hAPP(exp(X_a2048_2048), exp(X_a2048_2048), hAPP(X_a2048_2048, fun(exp(X_a2048_2048), exp(X_a2048_2048)), hAPP(list(char), fun(X_a2048_2048, fun(exp(X_a2048_2048), exp(X_a2048_2048))), hAPP(exp(X_a2048_2048), fun(list(char), fun(X_a2048_2048, fun(exp(X_a2048_2048), exp(X_a2048_2048)))), tryCatch(X_a2048_2048), Exp1_12050_2050), List2051_2051), A_12052_2052), Exp2_12053_2053))) & ! [X_a2054_2054, Exp1_12055_2055, List2056_2056, A_12057_2057, Exp2_12058_2058, Val2059_2059] :  (~=(hAPP(exp(X_a2054_2054), exp(X_a2054_2054), hAPP(X_a2054_2054, fun(exp(X_a2054_2054), exp(X_a2054_2054)), hAPP(list(char), fun(X_a2054_2054, fun(exp(X_a2054_2054), exp(X_a2054_2054))), hAPP(exp(X_a2054_2054), fun(list(char), fun(X_a2054_2054, fun(exp(X_a2054_2054), exp(X_a2054_2054)))), tryCatch(X_a2054_2054), Exp1_12055_2055), List2056_2056), A_12057_2057), Exp2_12058_2058), hAPP(val, exp(X_a2054_2054), val_1(X_a2054_2054), Val2059_2059))) & ! [X_a2060_2060, Exp1_32061_2061, List_32062_2062, A_42063_2063, Exp2_32064_2064, Exp1_22065_2065, List_22066_2066, A_62067_2067, Exp2_22068_2068] :  ((=(hAPP(exp(X_a2060_2060), exp(X_a2060_2060), hAPP(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060)), hAPP(list(char), fun(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060))), hAPP(exp(X_a2060_2060), fun(list(char), fun(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060)))), tryCatch(X_a2060_2060), Exp1_32061_2061), List_32062_2062), A_42063_2063), Exp2_32064_2064), hAPP(exp(X_a2060_2060), exp(X_a2060_2060), hAPP(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060)), hAPP(list(char), fun(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060))), hAPP(exp(X_a2060_2060), fun(list(char), fun(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060)))), tryCatch(X_a2060_2060), Exp1_22065_2065), List_22066_2066), A_62067_2067), Exp2_22068_2068)) <=> (((=(Exp1_32061_2061, Exp1_22065_2065) & =(List_32062_2062, List_22066_2066)) & =(ti(X_a2060_2060, A_42063_2063), ti(X_a2060_2060, A_62067_2067))) & =(Exp2_32064_2064, Exp2_22068_2068)))) & ! [X_a2069_2069, Exp12070_2070, Exp22071_2071, Exp1_12072_2072, List2073_2073, A_12074_2074, Exp2_12075_2075] :  (~=(hAPP(exp(X_a2069_2069), exp(X_a2069_2069), hAPP(exp(X_a2069_2069), fun(exp(X_a2069_2069), exp(X_a2069_2069)), seq(X_a2069_2069), Exp12070_2070), Exp22071_2071), hAPP(exp(X_a2069_2069), exp(X_a2069_2069), hAPP(X_a2069_2069, fun(exp(X_a2069_2069), exp(X_a2069_2069)), hAPP(list(char), fun(X_a2069_2069, fun(exp(X_a2069_2069), exp(X_a2069_2069))), hAPP(exp(X_a2069_2069), fun(list(char), fun(X_a2069_2069, fun(exp(X_a2069_2069), exp(X_a2069_2069)))), tryCatch(X_a2069_2069), Exp1_12072_2072), List2073_2073), A_12074_2074), Exp2_12075_2075))) & ! [X_a2076_2076, A_22077_2077, Exp2078_2078, Exp1_12079_2079, List2080_2080, A_12081_2081, Exp2_12082_2082] :  (~=(hAPP(exp(X_a2076_2076), exp(X_a2076_2076), hAPP(X_a2076_2076, fun(exp(X_a2076_2076), exp(X_a2076_2076)), lAss(X_a2076_2076), A_22077_2077), Exp2078_2078), hAPP(exp(X_a2076_2076), exp(X_a2076_2076), hAPP(X_a2076_2076, fun(exp(X_a2076_2076), exp(X_a2076_2076)), hAPP(list(char), fun(X_a2076_2076, fun(exp(X_a2076_2076), exp(X_a2076_2076))), hAPP(exp(X_a2076_2076), fun(list(char), fun(X_a2076_2076, fun(exp(X_a2076_2076), exp(X_a2076_2076)))), tryCatch(X_a2076_2076), Exp1_12079_2079), List2080_2080), A_12081_2081), Exp2_12082_2082))) & ! [X_a2083_2083, Exp1_12084_2084, List2085_2085, A_12086_2086, Exp2_12087_2087, Exp12088_2088, Exp22089_2089] :  (~=(hAPP(exp(X_a2083_2083), exp(X_a2083_2083), hAPP(X_a2083_2083, fun(exp(X_a2083_2083), exp(X_a2083_2083)), hAPP(list(char), fun(X_a2083_2083, fun(exp(X_a2083_2083), exp(X_a2083_2083))), hAPP(exp(X_a2083_2083), fun(list(char), fun(X_a2083_2083, fun(exp(X_a2083_2083), exp(X_a2083_2083)))), tryCatch(X_a2083_2083), Exp1_12084_2084), List2085_2085), A_12086_2086), Exp2_12087_2087), hAPP(exp(X_a2083_2083), exp(X_a2083_2083), hAPP(exp(X_a2083_2083), fun(exp(X_a2083_2083), exp(X_a2083_2083)), seq(X_a2083_2083), Exp12088_2088), Exp22089_2089))) & ! [X_a2090_2090, Exp1_12091_2091, List2092_2092, A_12093_2093, Exp2_12094_2094, A_22095_2095, Exp2096_2096] :  (~=(hAPP(exp(X_a2090_2090), exp(X_a2090_2090), hAPP(X_a2090_2090, fun(exp(X_a2090_2090), exp(X_a2090_2090)), hAPP(list(char), fun(X_a2090_2090, fun(exp(X_a2090_2090), exp(X_a2090_2090))), hAPP(exp(X_a2090_2090), fun(list(char), fun(X_a2090_2090, fun(exp(X_a2090_2090), exp(X_a2090_2090)))), tryCatch(X_a2090_2090), Exp1_12091_2091), List2092_2092), A_12093_2093), Exp2_12094_2094), hAPP(exp(X_a2090_2090), exp(X_a2090_2090), hAPP(X_a2090_2090, fun(exp(X_a2090_2090), exp(X_a2090_2090)), lAss(X_a2090_2090), A_22095_2095), Exp2096_2096))) & ! [X_a2097_2097, Exp1_12098_2098, List2099_2099, A_12100_2100, Exp2_12101_2101, Exp12102_2102, List12103_2103, List22104_2104, Exp22105_2105] :  (~=(hAPP(exp(X_a2097_2097), exp(X_a2097_2097), hAPP(X_a2097_2097, fun(exp(X_a2097_2097), exp(X_a2097_2097)), hAPP(list(char), fun(X_a2097_2097, fun(exp(X_a2097_2097), exp(X_a2097_2097))), hAPP(exp(X_a2097_2097), fun(list(char), fun(X_a2097_2097, fun(exp(X_a2097_2097), exp(X_a2097_2097)))), tryCatch(X_a2097_2097), Exp1_12098_2098), List2099_2099), A_12100_2100), Exp2_12101_2101), hAPP(exp(X_a2097_2097), exp(X_a2097_2097), hAPP(list(char), fun(exp(X_a2097_2097), exp(X_a2097_2097)), hAPP(list(char), fun(list(char), fun(exp(X_a2097_2097), exp(X_a2097_2097))), hAPP(exp(X_a2097_2097), fun(list(char), fun(list(char), fun(exp(X_a2097_2097), exp(X_a2097_2097)))), fAss(X_a2097_2097), Exp12102_2102), List12103_2103), List22104_2104), Exp22105_2105))) & ! [X_a2106_2106, Exp12107_2107, List12108_2108, List22109_2109, Exp22110_2110, Exp1_12111_2111, List2112_2112, A_12113_2113, Exp2_12114_2114] :  (~=(hAPP(exp(X_a2106_2106), exp(X_a2106_2106), hAPP(list(char), fun(exp(X_a2106_2106), exp(X_a2106_2106)), hAPP(list(char), fun(list(char), fun(exp(X_a2106_2106), exp(X_a2106_2106))), hAPP(exp(X_a2106_2106), fun(list(char), fun(list(char), fun(exp(X_a2106_2106), exp(X_a2106_2106)))), fAss(X_a2106_2106), Exp12107_2107), List12108_2108), List22109_2109), Exp22110_2110), hAPP(exp(X_a2106_2106), exp(X_a2106_2106), hAPP(X_a2106_2106, fun(exp(X_a2106_2106), exp(X_a2106_2106)), hAPP(list(char), fun(X_a2106_2106, fun(exp(X_a2106_2106), exp(X_a2106_2106))), hAPP(exp(X_a2106_2106), fun(list(char), fun(X_a2106_2106, fun(exp(X_a2106_2106), exp(X_a2106_2106)))), tryCatch(X_a2106_2106), Exp1_12111_2111), List2112_2112), A_12113_2113), Exp2_12114_2114))) & ! [X_a2115_2115, A_22116_2116, Ty2117_2117, Exp2118_2118, Exp1_12119_2119, List2120_2120, A_12121_2121, Exp2_12122_2122] :  (~=(hAPP(exp(X_a2115_2115), exp(X_a2115_2115), hAPP(ty, fun(exp(X_a2115_2115), exp(X_a2115_2115)), hAPP(X_a2115_2115, fun(ty, fun(exp(X_a2115_2115), exp(X_a2115_2115))), block(X_a2115_2115), A_22116_2116), Ty2117_2117), Exp2118_2118), hAPP(exp(X_a2115_2115), exp(X_a2115_2115), hAPP(X_a2115_2115, fun(exp(X_a2115_2115), exp(X_a2115_2115)), hAPP(list(char), fun(X_a2115_2115, fun(exp(X_a2115_2115), exp(X_a2115_2115))), hAPP(exp(X_a2115_2115), fun(list(char), fun(X_a2115_2115, fun(exp(X_a2115_2115), exp(X_a2115_2115)))), tryCatch(X_a2115_2115), Exp1_12119_2119), List2120_2120), A_12121_2121), Exp2_12122_2122))) & ! [X_a2123_2123, Exp1_12124_2124, List2125_2125, A_12126_2126, Exp2_12127_2127, A_22128_2128, Ty2129_2129, Exp2130_2130] :  (~=(hAPP(exp(X_a2123_2123), exp(X_a2123_2123), hAPP(X_a2123_2123, fun(exp(X_a2123_2123), exp(X_a2123_2123)), hAPP(list(char), fun(X_a2123_2123, fun(exp(X_a2123_2123), exp(X_a2123_2123))), hAPP(exp(X_a2123_2123), fun(list(char), fun(X_a2123_2123, fun(exp(X_a2123_2123), exp(X_a2123_2123)))), tryCatch(X_a2123_2123), Exp1_12124_2124), List2125_2125), A_12126_2126), Exp2_12127_2127), hAPP(exp(X_a2123_2123), exp(X_a2123_2123), hAPP(ty, fun(exp(X_a2123_2123), exp(X_a2123_2123)), hAPP(X_a2123_2123, fun(ty, fun(exp(X_a2123_2123), exp(X_a2123_2123))), block(X_a2123_2123), A_22128_2128), Ty2129_2129), Exp2130_2130))) & ! [X_a2131_2131, Exp1_12132_2132, List2133_2133, A_12134_2134, Exp2_12135_2135, Exp2136_2136, List12137_2137, List22138_2138] :  (~=(hAPP(exp(X_a2131_2131), exp(X_a2131_2131), hAPP(X_a2131_2131, fun(exp(X_a2131_2131), exp(X_a2131_2131)), hAPP(list(char), fun(X_a2131_2131, fun(exp(X_a2131_2131), exp(X_a2131_2131))), hAPP(exp(X_a2131_2131), fun(list(char), fun(X_a2131_2131, fun(exp(X_a2131_2131), exp(X_a2131_2131)))), tryCatch(X_a2131_2131), Exp1_12132_2132), List2133_2133), A_12134_2134), Exp2_12135_2135), hAPP(list(char), exp(X_a2131_2131), hAPP(list(char), fun(list(char), exp(X_a2131_2131)), hAPP(exp(X_a2131_2131), fun(list(char), fun(list(char), exp(X_a2131_2131))), fAcc(X_a2131_2131), Exp2136_2136), List12137_2137), List22138_2138))) & ! [X_a2139_2139, Exp2140_2140, List12141_2141, List22142_2142, Exp1_12143_2143, List2144_2144, A_12145_2145, Exp2_12146_2146] :  (~=(hAPP(list(char), exp(X_a2139_2139), hAPP(list(char), fun(list(char), exp(X_a2139_2139)), hAPP(exp(X_a2139_2139), fun(list(char), fun(list(char), exp(X_a2139_2139))), fAcc(X_a2139_2139), Exp2140_2140), List12141_2141), List22142_2142), hAPP(exp(X_a2139_2139), exp(X_a2139_2139), hAPP(X_a2139_2139, fun(exp(X_a2139_2139), exp(X_a2139_2139)), hAPP(list(char), fun(X_a2139_2139, fun(exp(X_a2139_2139), exp(X_a2139_2139))), hAPP(exp(X_a2139_2139), fun(list(char), fun(X_a2139_2139, fun(exp(X_a2139_2139), exp(X_a2139_2139)))), tryCatch(X_a2139_2139), Exp1_12143_2143), List2144_2144), A_12145_2145), Exp2_12146_2146))) & ! [C_12147_2147, Va_12148_2148, E_22149_2149, Pa2150_2150, E_12151_2151, S_02152_2152, V_12153_2153, S_12154_2154] :  ((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)))), eval, Pa2150_2150), E_12151_2151), S_02152_2152), hAPP(val, exp(list(char)), val_1(list(char)), V_12153_2153)), S_12154_2154)) => 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)))), eval, Pa2150_2150), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12151_2151), C_12147_2147), Va_12148_2148), E_22149_2149)), S_02152_2152), hAPP(val, exp(list(char)), val_1(list(char)), V_12153_2153)), S_12154_2154)))) & ! [Pa2155_2155, Va2156_2156, C_12157_2157, Va_12158_2158, E_22159_2159, S_22160_2160] :  (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, Pa2155_2155), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va2156_2156)), C_12157_2157), Va_12158_2158), E_22159_2159)), S_22160_2160), hAPP(val, exp(list(char)), val_1(list(char)), Va2156_2156)), S_22160_2160))) & ! [X_a2161_2161, C_52162_2162, Pa2163_2163, C_12164_2164, F_12165_2165, Ta2166_2166, D2167_2167] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2161_2161)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), has_field(X_a2161_2161), Pa2163_2163), C_12164_2164), F_12165_2165), Ta2166_2166), D2167_2167)) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), C_52162_2162), C_12164_2164)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2161_2161)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2161_2161), Pa2163_2163)))) => hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2161_2161)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), has_field(X_a2161_2161), Pa2163_2163), C_52162_2162), F_12165_2165), Ta2166_2166), D2167_2167))))) & ! [C_12168_2168, Va_12169_2169, E_22170_2170, Eb2171_2171, S_22172_2172, E_b2173_2173, S2174_2174, Pa2175_2175] :  ((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)))), Eb2171_2171), S_22172_2172)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2173_2173), S2174_2174))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2175_2175))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), Eb2171_2171), C_12168_2168), Va_12169_2169), E_22170_2170)), S_22172_2172)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_b2173_2173), C_12168_2168), Va_12169_2169), E_22170_2170)), S2174_2174))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2175_2175))))) & ! [Va2176_2176, C_12177_2177, Va_12178_2178, E_22179_2179, S_22180_2180, Pa2181_2181] :  (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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va2176_2176)), C_12177_2177), Va_12178_2178), E_22179_2179)), S_22180_2180)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va2176_2176)), S_22180_2180))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2181_2181)))) & ! [C_12182_2182, Va_12183_2183, E_22184_2184, Eb2185_2185, S_22186_2186, E_b2187_2187, S2188_2188, Pa2189_2189] :  ((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)))), Eb2185_2185), S_22186_2186)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2187_2187), S2188_2188))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2189_2189)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), Eb2185_2185), C_12182_2182), Va_12183_2183), E_22184_2184)), S_22186_2186)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_b2187_2187), C_12182_2182), Va_12183_2183), E_22184_2184)), S2188_2188))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2189_2189)))))) & ! [Va_12190_2190, E_22191_2191, C_12192_2192, D2193_2193, Fs_12194_2194, Pa2195_2195, E_12196_2196, S_02197_2197, A_42198_2198, H_12199_2199, L_12200_2200] :  ((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)))), eval, Pa2195_2195), E_12196_2196), S_02197_2197), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42198_2198)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12199_2199), L_12200_2200))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_12199_2199, A_42198_2198), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2193_2193), Fs_12194_2194))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2193_2193), C_12192_2192)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2195_2195)))) => 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)))), eval, Pa2195_2195), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12196_2196), C_12192_2192), Va_12190_2190), E_22191_2191)), S_02197_2197), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42198_2198)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12199_2199), L_12200_2200))))))) & ! [C_12201_2201, Va_12202_2202, E_22203_2203, Eb2204_2204, S_22205_2205, Va2206_2206, S2207_2207, Pa2208_2208] :  ((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)))), Eb2204_2204), S_22205_2205)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va2206_2206)), S2207_2207))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2208_2208)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), Eb2204_2204), C_12201_2201), Va_12202_2202), E_22203_2203)), S_22205_2205)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va2206_2206)), S2207_2207))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2208_2208)))))) & ! [Va_12209_2209, E_22210_2210, C_12211_2211, Pa2212_2212, S_22213_2213, A_42214_2214, D2215_2215, Fs_12216_2216] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22213_2213), A_42214_2214), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2215_2215), Fs_12216_2216))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2215_2215), C_12211_2211)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2212_2212)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42214_2214)))), C_12211_2211), Va_12209_2209), E_22210_2210)), S_22213_2213)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42214_2214)))), S_22213_2213))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2212_2212)))))) & ! [E_22217_2217, Va_12218_2218, E_2_12219_2219, H_22220_2220, L_22221_2221, C_12222_2222, D2223_2223, Fs_12224_2224, Pa2225_2225, E_12226_2226, S_02227_2227, A_42228_2228, H_12229_2229, L_12230_2230] :  ((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)))), eval, Pa2225_2225), E_12226_2226), S_02227_2227), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42228_2228)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12229_2229), L_12230_2230))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_12229_2229, A_42228_2228), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2223_2223), Fs_12224_2224))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2223_2223), C_12222_2222)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2225_2225)))) => (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)))), eval, Pa2225_2225), E_22217_2217), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12229_2229), 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)), L_12230_2230), Va_12218_2218), hAPP(val, option(val), some(val), hAPP(nat, val, addr, A_42228_2228))))), E_2_12219_2219), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_22220_2220), L_22221_2221))) => 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)))), eval, Pa2225_2225), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12226_2226), C_12222_2222), Va_12218_2218), E_22217_2217)), S_02227_2227), E_2_12219_2219), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_22220_2220), 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)), L_22221_2221), Va_12218_2218), hAPP(list(char), option(val), L_12230_2230, Va_12218_2218)))))))))) & ! [Va_12231_2231, E_22232_2232, C_12233_2233, D2234_2234, Fs_12235_2235, E_12236_2236, S_22237_2237, A_42238_2238, Hb2239_2239, Lb2240_2240, Pa2241_2241] :  ((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)))), E_12236_2236), S_22237_2237)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42238_2238)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2239_2239), Lb2240_2240)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2241_2241)))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb2239_2239, A_42238_2238), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2234_2234), Fs_12235_2235))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2234_2234), C_12233_2233)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2241_2241)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12236_2236), C_12233_2233), Va_12231_2231), E_22232_2232)), S_22237_2237)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42238_2238)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2239_2239), Lb2240_2240)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2241_2241)))))))) & ! [Va_12242_2242, E_22243_2243, C_12244_2244, Pa2245_2245, S_22246_2246, A_42247_2247, D2248_2248, Fs_12249_2249] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22246_2246), A_42247_2247), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2248_2248), Fs_12249_2249))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2248_2248), C_12244_2244)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2245_2245)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42247_2247)))), C_12244_2244), Va_12242_2242), E_22243_2243)), S_22246_2246)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_12242_2242), hAPP(list(char), ty, class, C_12244_2244)), 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)), Va_12242_2242), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42247_2247)))), E_22243_2243))), S_22246_2246))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2245_2245)))))) & ! [C_12250_2250, D2251_2251, Fs_12252_2252, Eb2253_2253, S_22254_2254, A_42255_2255, S2256_2256, Pa2257_2257] :  ((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)))), Eb2253_2253), S_22254_2254)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_42255_2255))), S2256_2256))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2257_2257)))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S2256_2256), A_42255_2255), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2251_2251), Fs_12252_2252))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2251_2251), C_12250_2250)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2257_2257)))) => 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))), cast(list(char)), C_12250_2250), Eb2253_2253)), S_22254_2254)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_42255_2255))), S2256_2256))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2257_2257)))))))) & ! [C_12258_2258, Pa2259_2259, S_22260_2260, A_42261_2261, D2262_2262, Fs_12263_2263] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22260_2260), A_42261_2261), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2262_2262), Fs_12263_2263))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2262_2262), C_12258_2258)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2259_2259)))) => 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))), cast(list(char)), C_12258_2258), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42261_2261)))), S_22260_2260)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_42261_2261))), S_22260_2260))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2259_2259)))))) & ! [Va_12264_2264, C_12265_2265, E_22266_2266, T_2_22267_2267, Pa2268_2268, Hb2269_2269, Ea2270_2270, E_12271_2271, T_1_22272_2272] :  ((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, Pa2268_2268), Hb2269_2269), Ea2270_2270), E_12271_2271), T_1_22272_2272)) => (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, Pa2268_2268), Hb2269_2269), 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)), Ea2270_2270), Va_12264_2264), hAPP(ty, option(ty), some(ty), hAPP(list(char), ty, class, C_12265_2265)))), E_22266_2266), T_2_22267_2267)) => (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)))), Pa2268_2268), T_1_22272_2272), T_2_22267_2267)) => 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, Pa2268_2268), Hb2269_2269), Ea2270_2270), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12271_2271), C_12265_2265), Va_12264_2264), E_22266_2266)), T_2_22267_2267)))))) & ! [X_a2273_2273, Exp_12274_2274, List_12275_2275, Exp2276_2276] :  (~=(hAPP(exp(X_a2273_2273), exp(X_a2273_2273), throw(X_a2273_2273), Exp_12274_2274), hAPP(exp(X_a2273_2273), exp(X_a2273_2273), hAPP(list(char), fun(exp(X_a2273_2273), exp(X_a2273_2273)), cast(X_a2273_2273), List_12275_2275), Exp2276_2276))) & ! [X_a2277_2277, List_12278_2278, Exp2279_2279, Exp_12280_2280] :  (~=(hAPP(exp(X_a2277_2277), exp(X_a2277_2277), hAPP(list(char), fun(exp(X_a2277_2277), exp(X_a2277_2277)), cast(X_a2277_2277), List_12278_2278), Exp2279_2279), hAPP(exp(X_a2277_2277), exp(X_a2277_2277), throw(X_a2277_2277), Exp_12280_2280))) & ! [X_a2281_2281, Exp1_12282_2282, List2283_2283, A_12284_2284, Exp2_12285_2285, List_12286_2286, Exp2287_2287] :  (~=(hAPP(exp(X_a2281_2281), exp(X_a2281_2281), hAPP(X_a2281_2281, fun(exp(X_a2281_2281), exp(X_a2281_2281)), hAPP(list(char), fun(X_a2281_2281, fun(exp(X_a2281_2281), exp(X_a2281_2281))), hAPP(exp(X_a2281_2281), fun(list(char), fun(X_a2281_2281, fun(exp(X_a2281_2281), exp(X_a2281_2281)))), tryCatch(X_a2281_2281), Exp1_12282_2282), List2283_2283), A_12284_2284), Exp2_12285_2285), hAPP(exp(X_a2281_2281), exp(X_a2281_2281), hAPP(list(char), fun(exp(X_a2281_2281), exp(X_a2281_2281)), cast(X_a2281_2281), List_12286_2286), Exp2287_2287))) & ! [X_a2288_2288, List_12289_2289, Exp2290_2290, Exp1_12291_2291, List2292_2292, A_12293_2293, Exp2_12294_2294] :  (~=(hAPP(exp(X_a2288_2288), exp(X_a2288_2288), hAPP(list(char), fun(exp(X_a2288_2288), exp(X_a2288_2288)), cast(X_a2288_2288), List_12289_2289), Exp2290_2290), hAPP(exp(X_a2288_2288), exp(X_a2288_2288), hAPP(X_a2288_2288, fun(exp(X_a2288_2288), exp(X_a2288_2288)), hAPP(list(char), fun(X_a2288_2288, fun(exp(X_a2288_2288), exp(X_a2288_2288))), hAPP(exp(X_a2288_2288), fun(list(char), fun(X_a2288_2288, fun(exp(X_a2288_2288), exp(X_a2288_2288)))), tryCatch(X_a2288_2288), Exp1_12291_2291), List2292_2292), A_12293_2293), Exp2_12294_2294))) & ! [X_a2295_2295, Exp1_12296_2296, Exp2_12297_2297, List_12298_2298, Exp2299_2299] :  (~=(hAPP(exp(X_a2295_2295), exp(X_a2295_2295), hAPP(exp(X_a2295_2295), fun(exp(X_a2295_2295), exp(X_a2295_2295)), seq(X_a2295_2295), Exp1_12296_2296), Exp2_12297_2297), hAPP(exp(X_a2295_2295), exp(X_a2295_2295), hAPP(list(char), fun(exp(X_a2295_2295), exp(X_a2295_2295)), cast(X_a2295_2295), List_12298_2298), Exp2299_2299))) & ! [X_a2300_2300, List_12301_2301, Exp2302_2302, Exp1_12303_2303, Exp2_12304_2304] :  (~=(hAPP(exp(X_a2300_2300), exp(X_a2300_2300), hAPP(list(char), fun(exp(X_a2300_2300), exp(X_a2300_2300)), cast(X_a2300_2300), List_12301_2301), Exp2302_2302), hAPP(exp(X_a2300_2300), exp(X_a2300_2300), hAPP(exp(X_a2300_2300), fun(exp(X_a2300_2300), exp(X_a2300_2300)), seq(X_a2300_2300), Exp1_12303_2303), Exp2_12304_2304))) & ! [X_a2305_2305, List_12306_2306, Exp2307_2307, A_12308_2308, Exp_12309_2309] :  (~=(hAPP(exp(X_a2305_2305), exp(X_a2305_2305), hAPP(list(char), fun(exp(X_a2305_2305), exp(X_a2305_2305)), cast(X_a2305_2305), List_12306_2306), Exp2307_2307), hAPP(exp(X_a2305_2305), exp(X_a2305_2305), hAPP(X_a2305_2305, fun(exp(X_a2305_2305), exp(X_a2305_2305)), lAss(X_a2305_2305), A_12308_2308), Exp_12309_2309))) & ! [X_a2310_2310, A_12311_2311, Exp_12312_2312, List_12313_2313, Exp2314_2314] :  (~=(hAPP(exp(X_a2310_2310), exp(X_a2310_2310), hAPP(X_a2310_2310, fun(exp(X_a2310_2310), exp(X_a2310_2310)), lAss(X_a2310_2310), A_12311_2311), Exp_12312_2312), hAPP(exp(X_a2310_2310), exp(X_a2310_2310), hAPP(list(char), fun(exp(X_a2310_2310), exp(X_a2310_2310)), cast(X_a2310_2310), List_12313_2313), Exp2314_2314))) & ! [X_a2315_2315, Exp1_12316_2316, List1_12317_2317, List2_12318_2318, Exp2_12319_2319, List_12320_2320, Exp2321_2321] :  (~=(hAPP(exp(X_a2315_2315), exp(X_a2315_2315), hAPP(list(char), fun(exp(X_a2315_2315), exp(X_a2315_2315)), hAPP(list(char), fun(list(char), fun(exp(X_a2315_2315), exp(X_a2315_2315))), hAPP(exp(X_a2315_2315), fun(list(char), fun(list(char), fun(exp(X_a2315_2315), exp(X_a2315_2315)))), fAss(X_a2315_2315), Exp1_12316_2316), List1_12317_2317), List2_12318_2318), Exp2_12319_2319), hAPP(exp(X_a2315_2315), exp(X_a2315_2315), hAPP(list(char), fun(exp(X_a2315_2315), exp(X_a2315_2315)), cast(X_a2315_2315), List_12320_2320), Exp2321_2321))) & ! [X_a2322_2322, List_12323_2323, Exp2324_2324, Exp1_12325_2325, List1_12326_2326, List2_12327_2327, Exp2_12328_2328] :  (~=(hAPP(exp(X_a2322_2322), exp(X_a2322_2322), hAPP(list(char), fun(exp(X_a2322_2322), exp(X_a2322_2322)), cast(X_a2322_2322), List_12323_2323), Exp2324_2324), hAPP(exp(X_a2322_2322), exp(X_a2322_2322), hAPP(list(char), fun(exp(X_a2322_2322), exp(X_a2322_2322)), hAPP(list(char), fun(list(char), fun(exp(X_a2322_2322), exp(X_a2322_2322))), hAPP(exp(X_a2322_2322), fun(list(char), fun(list(char), fun(exp(X_a2322_2322), exp(X_a2322_2322)))), fAss(X_a2322_2322), Exp1_12325_2325), List1_12326_2326), List2_12327_2327), Exp2_12328_2328))) & ! [X_a2329_2329, List_12330_2330, Exp2331_2331, A_12332_2332, Ty_12333_2333, Exp_12334_2334] :  (~=(hAPP(exp(X_a2329_2329), exp(X_a2329_2329), hAPP(list(char), fun(exp(X_a2329_2329), exp(X_a2329_2329)), cast(X_a2329_2329), List_12330_2330), Exp2331_2331), hAPP(exp(X_a2329_2329), exp(X_a2329_2329), hAPP(ty, fun(exp(X_a2329_2329), exp(X_a2329_2329)), hAPP(X_a2329_2329, fun(ty, fun(exp(X_a2329_2329), exp(X_a2329_2329))), block(X_a2329_2329), A_12332_2332), Ty_12333_2333), Exp_12334_2334))) & ! [X_a2335_2335, A_12336_2336, Ty_12337_2337, Exp_12338_2338, List_12339_2339, Exp2340_2340] :  (~=(hAPP(exp(X_a2335_2335), exp(X_a2335_2335), hAPP(ty, fun(exp(X_a2335_2335), exp(X_a2335_2335)), hAPP(X_a2335_2335, fun(ty, fun(exp(X_a2335_2335), exp(X_a2335_2335))), block(X_a2335_2335), A_12336_2336), Ty_12337_2337), Exp_12338_2338), hAPP(exp(X_a2335_2335), exp(X_a2335_2335), hAPP(list(char), fun(exp(X_a2335_2335), exp(X_a2335_2335)), cast(X_a2335_2335), List_12339_2339), Exp2340_2340))) & ! [X_a2341_2341, Exp_12342_2342, List1_12343_2343, List2_12344_2344, List_12345_2345, Exp2346_2346] :  (~=(hAPP(list(char), exp(X_a2341_2341), hAPP(list(char), fun(list(char), exp(X_a2341_2341)), hAPP(exp(X_a2341_2341), fun(list(char), fun(list(char), exp(X_a2341_2341))), fAcc(X_a2341_2341), Exp_12342_2342), List1_12343_2343), List2_12344_2344), hAPP(exp(X_a2341_2341), exp(X_a2341_2341), hAPP(list(char), fun(exp(X_a2341_2341), exp(X_a2341_2341)), cast(X_a2341_2341), List_12345_2345), Exp2346_2346))) & ! [X_a2347_2347, List_12348_2348, Exp2349_2349, Exp_12350_2350, List1_12351_2351, List2_12352_2352] :  (~=(hAPP(exp(X_a2347_2347), exp(X_a2347_2347), hAPP(list(char), fun(exp(X_a2347_2347), exp(X_a2347_2347)), cast(X_a2347_2347), List_12348_2348), Exp2349_2349), hAPP(list(char), exp(X_a2347_2347), hAPP(list(char), fun(list(char), exp(X_a2347_2347)), hAPP(exp(X_a2347_2347), fun(list(char), fun(list(char), exp(X_a2347_2347))), fAcc(X_a2347_2347), Exp_12350_2350), List1_12351_2351), List2_12352_2352))) & ! [X_a2353_2353, C_12354_2354, Eb2355_2355, A_52356_2356] :  ((hBOOL(hAPP(option(fun(X_a2353_2353, bool)), bool, hAPP(exp(X_a2353_2353), fun(option(fun(X_a2353_2353, bool)), bool), d(X_a2353_2353), hAPP(exp(X_a2353_2353), exp(X_a2353_2353), hAPP(list(char), fun(exp(X_a2353_2353), exp(X_a2353_2353)), cast(X_a2353_2353), C_12354_2354), Eb2355_2355)), A_52356_2356)) <=> hBOOL(hAPP(option(fun(X_a2353_2353, bool)), bool, hAPP(exp(X_a2353_2353), fun(option(fun(X_a2353_2353, bool)), bool), d(X_a2353_2353), Eb2355_2355), A_52356_2356)))) & ! [X_a2357_2357, List_32358_2358, Exp_32359_2359, List_22360_2360, Exp_22361_2361] :  ((=(hAPP(exp(X_a2357_2357), exp(X_a2357_2357), hAPP(list(char), fun(exp(X_a2357_2357), exp(X_a2357_2357)), cast(X_a2357_2357), List_32358_2358), Exp_32359_2359), hAPP(exp(X_a2357_2357), exp(X_a2357_2357), hAPP(list(char), fun(exp(X_a2357_2357), exp(X_a2357_2357)), cast(X_a2357_2357), List_22360_2360), Exp_22361_2361)) <=> (=(List_32358_2358, List_22360_2360) & =(Exp_32359_2359, Exp_22361_2361)))) & ! [X_a2362_2362, List_12363_2363, Exp2364_2364, Val_12365_2365] :  (~=(hAPP(exp(X_a2362_2362), exp(X_a2362_2362), hAPP(list(char), fun(exp(X_a2362_2362), exp(X_a2362_2362)), cast(X_a2362_2362), List_12363_2363), Exp2364_2364), hAPP(val, exp(X_a2362_2362), val_1(X_a2362_2362), Val_12365_2365))) & ! [X_a2366_2366, Val_12367_2367, List_12368_2368, Exp2369_2369] :  (~=(hAPP(val, exp(X_a2366_2366), val_1(X_a2366_2366), Val_12367_2367), hAPP(exp(X_a2366_2366), exp(X_a2366_2366), hAPP(list(char), fun(exp(X_a2366_2366), exp(X_a2366_2366)), cast(X_a2366_2366), List_12368_2368), Exp2369_2369))) & ! [C_12370_2370, Pa2371_2371, Eb2372_2372, S_22373_2373, E_b2374_2374, S2375_2375] :  ((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, Pa2371_2371), Eb2372_2372), S_22373_2373), E_b2374_2374), S2375_2375)) => 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, Pa2371_2371), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12370_2370), Eb2372_2372)), S_22373_2373), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12370_2370), E_b2374_2374)), S2375_2375)))) & ! [C_12376_2376, Pa2377_2377, Eb2378_2378, S_02379_2379, E_b2380_2380, S_12381_2381] :  ((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)))), eval, Pa2377_2377), Eb2378_2378), S_02379_2379), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b2380_2380)), S_12381_2381)) => 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)))), eval, Pa2377_2377), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12376_2376), Eb2378_2378)), S_02379_2379), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b2380_2380)), S_12381_2381)))) & ! [Pa2382_2382, C_12383_2383, Eb2384_2384, S_22385_2385] :  (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, Pa2382_2382), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12383_2383), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2384_2384))), S_22385_2385), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2384_2384)), S_22385_2385))) & ! [F_12386_2386, Ta2387_2387, D2388_2388, Pa2389_2389, Hb2390_2390, Ea2391_2391, Eb2392_2392, C_12393_2393] :  ((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, Pa2389_2389), Hb2390_2390), Ea2391_2391), Eb2392_2392), hAPP(list(char), ty, class, C_12393_2393))) => (hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), fun(ty, fun(list(char), bool)))), has_field(product_prod(list(list(char)), exp(list(char)))), Pa2389_2389), C_12393_2393), F_12386_2386), Ta2387_2387), D2388_2388)) => 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, Pa2389_2389), Hb2390_2390), Ea2391_2391), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb2392_2392), F_12386_2386), D2388_2388)), Ta2387_2387))))) & ! [C_12394_2394, Eb2395_2395, S_22396_2396, E_b2397_2397, S2398_2398, Pa2399_2399] :  ((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)))), Eb2395_2395), S_22396_2396)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2397_2397), S2398_2398))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2399_2399))) => 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))), cast(list(char)), C_12394_2394), Eb2395_2395)), S_22396_2396)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), cast(list(char)), C_12394_2394), E_b2397_2397)), S2398_2398))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2399_2399))))) & ! [C_12400_2400, Eb2401_2401, S_22402_2402, Pa2403_2403] :  (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))), cast(list(char)), C_12400_2400), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2401_2401))), S_22402_2402)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb2401_2401)), S_22402_2402))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2403_2403)))) & ! [C_12404_2404, Eb2405_2405, S_22406_2406, E_b2407_2407, S2408_2408, Pa2409_2409] :  ((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)))), Eb2405_2405), S_22406_2406)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2407_2407), S2408_2408))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2409_2409)))) => 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))), cast(list(char)), C_12404_2404), Eb2405_2405)), S_22406_2406)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), cast(list(char)), C_12404_2404), E_b2407_2407)), S2408_2408))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2409_2409)))))) & ! [X_a2410_2410, Pa2411_2411, C_12412_2412, D2413_2413] :  ((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, X_a2410_2410)))))))), fun(ty, fun(ty, bool)), widen(X_a2410_2410), Pa2411_2411), hAPP(list(char), ty, class, C_12412_2412)), hAPP(list(char), ty, class, D2413_2413))) <=> hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), C_12412_2412), D2413_2413)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2410_2410)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2410_2410), Pa2411_2411)))))) & ! [X_a2414_2414, C_12415_2415, D2416_2416, Pa2417_2417] :  ((hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), C_12415_2415), D2416_2416)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2414_2414)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2414_2414), Pa2417_2417)))) => 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, X_a2414_2414)))))))), fun(ty, fun(ty, bool)), widen(X_a2414_2414), Pa2417_2417), hAPP(list(char), ty, class, C_12415_2415)), hAPP(list(char), ty, class, D2416_2416))))) & ! [E_22418_2418, T_2_22419_2419, F_12420_2420, Ta2421_2421, D2422_2422, Pa2423_2423, Hb2424_2424, Ea2425_2425, E_12426_2426, C_12427_2427] :  ((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, Pa2423_2423), Hb2424_2424), Ea2425_2425), E_12426_2426), hAPP(list(char), ty, class, C_12427_2427))) => (hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), fun(ty, fun(list(char), bool)))), has_field(product_prod(list(list(char)), exp(list(char)))), Pa2423_2423), C_12427_2427), F_12420_2420), Ta2421_2421), D2422_2422)) => (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, Pa2423_2423), Hb2424_2424), Ea2425_2425), E_22418_2418), T_2_22419_2419)) => (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)))), Pa2423_2423), T_2_22419_2419), Ta2421_2421)) => 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, Pa2423_2423), Hb2424_2424), Ea2425_2425), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_12426_2426), F_12420_2420), D2422_2422), E_22418_2418)), void))))))) & ! [C_12428_2428, Eb2429_2429, S_22430_2430, A_42431_2431, S2432_2432, Pa2433_2433] :  ((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)))), Eb2429_2429), S_22430_2430)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_42431_2431)), S2432_2432))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2433_2433)))) => 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))), cast(list(char)), C_12428_2428), Eb2429_2429)), S_22430_2430)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_42431_2431)), S2432_2432))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2433_2433)))))) & ! [C_12434_2434, D2435_2435, Fs_12436_2436, Pa2437_2437, Eb2438_2438, S_02439_2439, A_42440_2440, Hb2441_2441, Lb2442_2442] :  ((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)))), eval, Pa2437_2437), Eb2438_2438), S_02439_2439), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42440_2440))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2441_2441), Lb2442_2442))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb2441_2441, A_42440_2440), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2435_2435), Fs_12436_2436))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2435_2435), C_12434_2434)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2437_2437)))) => 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)))), eval, Pa2437_2437), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12434_2434), Eb2438_2438)), S_02439_2439), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42440_2440))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2441_2441), Lb2442_2442))))))) & ! [Pa2443_2443, Hb2444_2444, Ea2445_2445, E_12446_2446, C_12447_2447, Va_12448_2448, E_22449_2449, Ta2450_2450] :  ((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, Pa2443_2443), Hb2444_2444), Ea2445_2445), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12446_2446), C_12447_2447), Va_12448_2448), E_22449_2449)), Ta2450_2450)) => ~! [T_1_12451_2451] :  ((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, Pa2443_2443), Hb2444_2444), Ea2445_2445), E_12446_2446), T_1_12451_2451)) => (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, Pa2443_2443), Hb2444_2444), 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)), Ea2445_2445), Va_12448_2448), hAPP(ty, option(ty), some(ty), hAPP(list(char), ty, class, C_12447_2447)))), E_22449_2449), Ta2450_2450)) => ~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)))), Pa2443_2443), T_1_12451_2451), Ta2450_2450))))))) & ! [Pa2452_2452, Hb2453_2453, Ea2454_2454, Eb2455_2455, C_12456_2456] :  ((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, Pa2452_2452), Hb2453_2453), Ea2454_2454), Eb2455_2455), hAPP(list(char), ty, class, C_12456_2456))) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), Eb2455_2455)) => (! [A_32457_2457] :  (~=(Eb2455_2455, hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32457_2457)))) => ~! [A_32458_2458] :  (~=(Eb2455_2455, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32458_2458))))))))) & ! [C_12459_2459, D2460_2460, Fs_12461_2461, Eb2462_2462, S_22463_2463, A_42464_2464, S2465_2465, Pa2466_2466] :  ((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)))), Eb2462_2462), S_22463_2463)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_42464_2464))), S2465_2465))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2466_2466)))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S2465_2465), A_42464_2464), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2460_2460), Fs_12461_2461))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2460_2460), C_12459_2459)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2466_2466)))) => 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))), cast(list(char)), C_12459_2459), Eb2462_2462)), S_22463_2463)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, classCast))))), S2465_2465))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2466_2466)))))))) & ! [C_12467_2467, D2468_2468, Fs_12469_2469, Pa2470_2470, Eb2471_2471, S_02472_2472, A_42473_2473, Hb2474_2474, Lb2475_2475] :  ((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)))), eval, Pa2470_2470), Eb2471_2471), S_02472_2472), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42473_2473))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2474_2474), Lb2475_2475))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb2474_2474, A_42473_2473), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2468_2468), Fs_12469_2469))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2468_2468), C_12467_2467)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2470_2470)))) => 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)))), eval, Pa2470_2470), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12467_2467), Eb2471_2471)), S_02472_2472), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, classCast))))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2474_2474), Lb2475_2475))))))) & ! [C_12476_2476, Pa2477_2477, S_22478_2478, A_42479_2479, D2480_2480, Fs_12481_2481] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22478_2478), A_42479_2479), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2480_2480), Fs_12481_2481))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2480_2480), C_12476_2476)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2477_2477)))) => 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))), cast(list(char)), C_12476_2476), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42479_2479)))), S_22478_2478)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, classCast))))), S_22478_2478))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2477_2477)))))) & ! [X_a2482_2482, P2483_2483, C_32484_2484, T_22485_2485] :  ((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, X_a2482_2482)))))))), fun(ty, fun(ty, bool)), widen(X_a2482_2482), P2483_2483), hAPP(list(char), ty, class, C_32484_2484)), T_22485_2485)) => ? [D_32486_2486] :  (=(T_22485_2485, hAPP(list(char), ty, class, D_32486_2486))))) & ! [Va_12487_2487, E_22488_2488, Pa2489_2489, C_12490_2490, S_22491_2491, A_42492_2492, D2493_2493, Fs_12494_2494] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22491_2491), A_42492_2492), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2493_2493), Fs_12494_2494))) => (hBOOL(hAPP(list(char), bool, hAPP(list(char), fun(list(char), bool), hAPP(fun(list(char), fun(list(char), bool)), fun(list(char), fun(list(char), bool)), transitive_rtranclp(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), bool)), subcls1p(product_prod(list(list(char)), exp(list(char)))), Pa2489_2489)), D2493_2493), C_12490_2490)) => 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, Pa2489_2489), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42492_2492)))), C_12490_2490), Va_12487_2487), E_22488_2488)), S_22491_2491), 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)), Va_12487_2487), hAPP(list(char), ty, class, C_12490_2490)), 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)), Va_12487_2487), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42492_2492)))), E_22488_2488))), S_22491_2491))))) & ! [X_a2495_2495, Pa2496_2496, X_12497_2497, Xa2498_2498] :  ((hBOOL(hAPP(list(char), bool, hAPP(list(char), fun(list(char), bool), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2495_2495)))))))), fun(list(char), fun(list(char), bool)), subcls1p(X_a2495_2495), Pa2496_2496), X_12497_2497), Xa2498_2498)) <=> hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), X_12497_2497), Xa2498_2498)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2495_2495)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2495_2495), Pa2496_2496))))) & ! [X_a2499_2499, R_12500_2500, A_42501_2501] :  (hBOOL(hAPP(X_a2499_2499, bool, hAPP(X_a2499_2499, fun(X_a2499_2499, bool), hAPP(fun(X_a2499_2499, fun(X_a2499_2499, bool)), fun(X_a2499_2499, fun(X_a2499_2499, bool)), transitive_rtranclp(X_a2499_2499), R_12500_2500), A_42501_2501), A_42501_2501))) & ! [X_a2502_2502, R_12503_2503, X_22504_2504, Y_12505_2505] :  ((hBOOL(hAPP(X_a2502_2502, bool, hAPP(X_a2502_2502, fun(X_a2502_2502, bool), R_12503_2503, X_22504_2504), Y_12505_2505)) => hBOOL(hAPP(X_a2502_2502, bool, hAPP(X_a2502_2502, fun(X_a2502_2502, bool), hAPP(fun(X_a2502_2502, fun(X_a2502_2502, bool)), fun(X_a2502_2502, fun(X_a2502_2502, bool)), transitive_rtranclp(X_a2502_2502), R_12503_2503), X_22504_2504), Y_12505_2505)))) & ! [X_a2506_2506, R_12507_2507] :  (=(hAPP(fun(X_a2506_2506, fun(X_a2506_2506, bool)), fun(X_a2506_2506, fun(X_a2506_2506, bool)), transitive_rtranclp(X_a2506_2506), hAPP(fun(X_a2506_2506, fun(X_a2506_2506, bool)), fun(X_a2506_2506, fun(X_a2506_2506, bool)), transitive_rtranclp(X_a2506_2506), R_12507_2507)), hAPP(fun(X_a2506_2506, fun(X_a2506_2506, bool)), fun(X_a2506_2506, fun(X_a2506_2506, bool)), transitive_rtranclp(X_a2506_2506), R_12507_2507))) & ! [X_a2508_2508, C2509_2509, R_12510_2510, A_42511_2511, B2512_2512] :  ((hBOOL(hAPP(X_a2508_2508, bool, hAPP(X_a2508_2508, fun(X_a2508_2508, bool), R_12510_2510, A_42511_2511), B2512_2512)) => (hBOOL(hAPP(X_a2508_2508, bool, hAPP(X_a2508_2508, fun(X_a2508_2508, bool), hAPP(fun(X_a2508_2508, fun(X_a2508_2508, bool)), fun(X_a2508_2508, fun(X_a2508_2508, bool)), transitive_rtranclp(X_a2508_2508), R_12510_2510), B2512_2512), C2509_2509)) => hBOOL(hAPP(X_a2508_2508, bool, hAPP(X_a2508_2508, fun(X_a2508_2508, bool), hAPP(fun(X_a2508_2508, fun(X_a2508_2508, bool)), fun(X_a2508_2508, fun(X_a2508_2508, bool)), transitive_rtranclp(X_a2508_2508), R_12510_2510), A_42511_2511), C2509_2509))))) & ! [X_a2513_2513, C2514_2514, R_12515_2515, A_42516_2516, B2517_2517] :  ((hBOOL(hAPP(X_a2513_2513, bool, hAPP(X_a2513_2513, fun(X_a2513_2513, bool), hAPP(fun(X_a2513_2513, fun(X_a2513_2513, bool)), fun(X_a2513_2513, fun(X_a2513_2513, bool)), transitive_rtranclp(X_a2513_2513), R_12515_2515), A_42516_2516), B2517_2517)) => (hBOOL(hAPP(X_a2513_2513, bool, hAPP(X_a2513_2513, fun(X_a2513_2513, bool), R_12515_2515, B2517_2517), C2514_2514)) => hBOOL(hAPP(X_a2513_2513, bool, hAPP(X_a2513_2513, fun(X_a2513_2513, bool), hAPP(fun(X_a2513_2513, fun(X_a2513_2513, bool)), fun(X_a2513_2513, fun(X_a2513_2513, bool)), transitive_rtranclp(X_a2513_2513), R_12515_2515), A_42516_2516), C2514_2514))))) & ! [X_a2518_2518, Z2519_2519, R_12520_2520, X_22521_2521, Y_12522_2522] :  ((hBOOL(hAPP(X_a2518_2518, bool, hAPP(X_a2518_2518, fun(X_a2518_2518, bool), hAPP(fun(X_a2518_2518, fun(X_a2518_2518, bool)), fun(X_a2518_2518, fun(X_a2518_2518, bool)), transitive_rtranclp(X_a2518_2518), R_12520_2520), X_22521_2521), Y_12522_2522)) => (hBOOL(hAPP(X_a2518_2518, bool, hAPP(X_a2518_2518, fun(X_a2518_2518, bool), hAPP(fun(X_a2518_2518, fun(X_a2518_2518, bool)), fun(X_a2518_2518, fun(X_a2518_2518, bool)), transitive_rtranclp(X_a2518_2518), R_12520_2520), Y_12522_2522), Z2519_2519)) => hBOOL(hAPP(X_a2518_2518, bool, hAPP(X_a2518_2518, fun(X_a2518_2518, bool), hAPP(fun(X_a2518_2518, fun(X_a2518_2518, bool)), fun(X_a2518_2518, fun(X_a2518_2518, bool)), transitive_rtranclp(X_a2518_2518), R_12520_2520), X_22521_2521), Z2519_2519))))) & ! [X_a2523_2523, R_12524_2524, X_12525_2525, Xa2526_2526] :  ((hBOOL(hAPP(X_a2523_2523, bool, hAPP(X_a2523_2523, fun(X_a2523_2523, bool), hAPP(fun(X_a2523_2523, fun(X_a2523_2523, bool)), fun(X_a2523_2523, fun(X_a2523_2523, bool)), transitive_rtranclp(X_a2523_2523), hAPP(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, fun(X_a2523_2523, bool)), hAPP(fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool))), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, fun(X_a2523_2523, bool))), combc(X_a2523_2523, fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool)), hAPP(fun(X_a2523_2523, fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool))), fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool))), hAPP(fun(fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool))), fun(fun(X_a2523_2523, fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool))), fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool)))), combb(fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool)), X_a2523_2523), combc(X_a2523_2523, fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)), hAPP(fun(X_a2523_2523, fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523))), fun(X_a2523_2523, fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool))), hAPP(fun(fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523)), fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool))), fun(fun(X_a2523_2523, fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523))), fun(X_a2523_2523, fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)))), combb(fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523)), fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)), X_a2523_2523), hAPP(fun(product_prod(X_a2523_2523, X_a2523_2523), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)), fun(fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523)), fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool))), combb(product_prod(X_a2523_2523, X_a2523_2523), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool), X_a2523_2523), member(product_prod(X_a2523_2523, X_a2523_2523)))), product_Pair(X_a2523_2523, X_a2523_2523)))), R_12524_2524)), X_12525_2525), Xa2526_2526)) <=> hBOOL(hAPP(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool, hAPP(product_prod(X_a2523_2523, X_a2523_2523), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool), member(product_prod(X_a2523_2523, X_a2523_2523)), hAPP(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523), hAPP(X_a2523_2523, fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523)), product_Pair(X_a2523_2523, X_a2523_2523), X_12525_2525), Xa2526_2526)), hAPP(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(product_prod(X_a2523_2523, X_a2523_2523), bool), transitive_rtrancl(X_a2523_2523), R_12524_2524))))) & ! [Pa2527_2527, C_12528_2528, S_22529_2529, A_42530_2530, D2531_2531, Fs_12532_2532] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22529_2529), A_42530_2530), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2531_2531), Fs_12532_2532))) => (hBOOL(hAPP(list(char), bool, hAPP(list(char), fun(list(char), bool), hAPP(fun(list(char), fun(list(char), bool)), fun(list(char), fun(list(char), bool)), transitive_rtranclp(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), bool)), subcls1p(product_prod(list(list(char)), exp(list(char)))), Pa2527_2527)), D2531_2531), C_12528_2528)) => 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, Pa2527_2527), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12528_2528), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42530_2530)))), S_22529_2529), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42530_2530))), S_22529_2529))))) & ! [Va_12533_2533, E_22534_2534, Pa2535_2535, C_12536_2536, S_22537_2537, A_42538_2538, D2539_2539, Fs_12540_2540] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22537_2537), A_42538_2538), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2539_2539), Fs_12540_2540))) => (~hBOOL(hAPP(list(char), bool, hAPP(list(char), fun(list(char), bool), hAPP(fun(list(char), fun(list(char), bool)), fun(list(char), fun(list(char), bool)), transitive_rtranclp(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), bool)), subcls1p(product_prod(list(list(char)), exp(list(char)))), Pa2535_2535)), D2539_2539), C_12536_2536)) => 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, Pa2535_2535), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42538_2538)))), C_12536_2536), Va_12533_2533), E_22534_2534)), S_22537_2537), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42538_2538)))), S_22537_2537))))) & ! [Pa2541_2541, C_12542_2542, S_22543_2543, A_42544_2544, D2545_2545, Fs_12546_2546] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22543_2543), A_42544_2544), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2545_2545), Fs_12546_2546))) => (~hBOOL(hAPP(list(char), bool, hAPP(list(char), fun(list(char), bool), hAPP(fun(list(char), fun(list(char), bool)), fun(list(char), fun(list(char), bool)), transitive_rtranclp(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), bool)), subcls1p(product_prod(list(list(char)), exp(list(char)))), Pa2541_2541)), D2545_2545), C_12542_2542)) => 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, Pa2541_2541), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12542_2542), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42544_2544)))), S_22543_2543), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, classCast))))), S_22543_2543))))) & ! [List2547_2547] :  (~=(void, hAPP(list(char), ty, class, List2547_2547))) & ! [List2548_2548] :  (~=(hAPP(list(char), ty, class, List2548_2548), void)) & ! [List_32549_2549, List_22550_2550] :  ((=(hAPP(list(char), ty, class, List_32549_2549), hAPP(list(char), ty, class, List_22550_2550)) <=> =(List_32549_2549, List_22550_2550))) & ! [C_12551_2551, Eb2552_2552, S_22553_2553, S2554_2554, Pa2555_2555] :  ((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)))), Eb2552_2552), S_22553_2553)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S2554_2554))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2555_2555)))) => 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))), cast(list(char)), C_12551_2551), Eb2552_2552)), S_22553_2553)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S2554_2554))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2555_2555)))))) & ! [X_m2561_2561, P2562_2562, C_32563_2563] :  (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, X_m2561_2561)))))))), fun(ty, fun(ty, bool)), widen(X_m2561_2561), P2562_2562), nt), hAPP(list(char), ty, class, C_32563_2563)))) & ! [List2564_2564] :  (~=(hAPP(list(char), ty, class, List2564_2564), nt)) & ! [List2565_2565] :  (~=(nt, hAPP(list(char), ty, class, List2565_2565))) & ~=(void, nt) & ~=(nt, void) & ~=(unit, null) & ~=(null, unit) & ! [X_a2566_2566, Pa2567_2567, Hb2568_2568, Va2569_2569] :  ((hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a2566_2566)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a2566_2566), Pa2567_2567), Hb2568_2568), Va2569_2569), nt)) <=> =(Va2569_2569, null))) & ! [X_a2570_2570, Pa2571_2571, Hb2572_2572, Ta2573_2573] :  ((hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a2570_2570)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a2570_2570), Pa2571_2571), Hb2572_2572), null), Ta2573_2573)) <=> 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, X_a2570_2570)))))))), fun(ty, fun(ty, bool)), widen(X_a2570_2570), Pa2571_2571), nt), Ta2573_2573)))) & ! [Nat_12574_2574] :  (~=(hAPP(nat, val, addr, Nat_12574_2574), null)) & ! [Nat_12575_2575] :  (~=(null, hAPP(nat, val, addr, Nat_12575_2575))) & ! [F_12576_2576, D2577_2577, Ta2578_2578, Pa2579_2579, Hb2580_2580, Ea2581_2581, Eb2582_2582] :  ((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, Pa2579_2579), Hb2580_2580), Ea2581_2581), Eb2582_2582), nt)) => 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, Pa2579_2579), Hb2580_2580), Ea2581_2581), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb2582_2582), F_12576_2576), D2577_2577)), Ta2578_2578)))) & ! [C_12583_2583, Pa2584_2584, Eb2585_2585, S_02586_2586, S_12587_2587] :  ((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)))), eval, Pa2584_2584), Eb2585_2585), S_02586_2586), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_12587_2587)) => 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)))), eval, Pa2584_2584), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12583_2583), Eb2585_2585)), S_02586_2586), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_12587_2587)))) & ! [Pa2588_2588, C_12589_2589, S_22590_2590] :  (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, Pa2588_2588), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12589_2589), hAPP(val, exp(list(char)), val_1(list(char)), null))), S_22590_2590), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_22590_2590))) & ! [F_12591_2591, D2592_2592, E_22593_2593, T_2_22594_2594, Pa2595_2595, Hb2596_2596, Ea2597_2597, E_12598_2598] :  ((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, Pa2595_2595), Hb2596_2596), Ea2597_2597), E_12598_2598), nt)) => (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, Pa2595_2595), Hb2596_2596), Ea2597_2597), E_22593_2593), T_2_22594_2594)) => 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, Pa2595_2595), Hb2596_2596), Ea2597_2597), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_12598_2598), F_12591_2591), D2592_2592), E_22593_2593)), void))))) & ! [C_12599_2599, S_22600_2600, Pa2601_2601] :  (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))), cast(list(char)), C_12599_2599), hAPP(val, exp(list(char)), val_1(list(char)), null))), S_22600_2600)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S_22600_2600))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2601_2601)))) & ! [Pa2602_2602, Hb2603_2603, Ea2604_2604, Eb2605_2605, F_12606_2606, D2607_2607, Ta2608_2608] :  ((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, Pa2602_2602), Hb2603_2603), Ea2604_2604), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb2605_2605), F_12606_2606), D2607_2607)), Ta2608_2608)) => (! [C_22609_2609] :  ((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, Pa2602_2602), Hb2603_2603), Ea2604_2604), Eb2605_2605), hAPP(list(char), ty, class, C_22609_2609))) => ~hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), fun(ty, fun(list(char), bool)))), has_field(product_prod(list(list(char)), exp(list(char)))), Pa2602_2602), C_22609_2609), F_12606_2606), Ta2608_2608), D2607_2607)))) => 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, Pa2602_2602), Hb2603_2603), Ea2604_2604), Eb2605_2605), nt))))) & ! [Pa2618_2618, Hb2619_2619, Ea2620_2620, Eb2621_2621, F_12622_2622, D2623_2623, Va2624_2624, Ta2625_2625] :  ((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, Pa2618_2618), Hb2619_2619), Ea2620_2620), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), Eb2621_2621), F_12622_2622), D2623_2623), Va2624_2624)), Ta2625_2625)) => ((=(Ta2625_2625, void) => ! [C_22626_2626] :  ((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, Pa2618_2618), Hb2619_2619), Ea2620_2620), Eb2621_2621), hAPP(list(char), ty, class, C_22626_2626))) => ! [T_12627_2627] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), fun(ty, fun(list(char), bool)))), has_field(product_prod(list(list(char)), exp(list(char)))), Pa2618_2618), C_22626_2626), F_12622_2622), T_12627_2627), D2623_2623)) => ! [T_2_12628_2628] :  ((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, Pa2618_2618), Hb2619_2619), Ea2620_2620), Va2624_2624), T_2_12628_2628)) => ~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)))), Pa2618_2618), T_2_12628_2628), T_12627_2627))))))))) => ~(=(Ta2625_2625, void) => (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, Pa2618_2618), Hb2619_2619), Ea2620_2620), Eb2621_2621), nt)) => ! [T_2_12629_2629] :  (~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, Pa2618_2618), Hb2619_2619), Ea2620_2620), Va2624_2624), T_2_12629_2629)))))))) & ! [F_12630_2630, D2631_2631, Eb2632_2632, S_22633_2633, S2634_2634, Pa2635_2635] :  ((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)))), Eb2632_2632), S_22633_2633)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S2634_2634))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2635_2635)))) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb2632_2632), F_12630_2630), D2631_2631)), S_22633_2633)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S2634_2634))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2635_2635)))))) & ! [Pa2636_2636, Eb2637_2637, S_02638_2638, S_12639_2639] :  ((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)))), eval, Pa2636_2636), Eb2637_2637), S_02638_2638), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_12639_2639)) => 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)))), eval, Pa2636_2636), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2637_2637)), S_02638_2638), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_12639_2639)))) & ! [Pa2640_2640, S_22641_2641] :  (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, Pa2640_2640), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null))), S_22641_2641), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22641_2641))) & ! [F_12642_2642, D2643_2643, E_22644_2644, Va2645_2645, S_2_12646_2646, Pa2647_2647, E_12648_2648, S_02649_2649, S_12650_2650] :  ((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)))), eval, Pa2647_2647), E_12648_2648), S_02649_2649), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_12650_2650)) => (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)))), eval, Pa2647_2647), E_22644_2644), S_12650_2650), hAPP(val, exp(list(char)), val_1(list(char)), Va2645_2645)), S_2_12646_2646)) => 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)))), eval, Pa2647_2647), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_12648_2648), F_12642_2642), D2643_2643), E_22644_2644)), S_02649_2649), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_2_12646_2646))))) & ! [F_12651_2651, D2652_2652, Pa2653_2653, Eb2654_2654, S_02655_2655, S_12656_2656] :  ((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)))), eval, Pa2653_2653), Eb2654_2654), S_02655_2655), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_12656_2656)) => 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)))), eval, Pa2653_2653), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb2654_2654), F_12651_2651), D2652_2652)), S_02655_2655), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_12656_2656)))) & ! [Pa2657_2657, F_12658_2658, D2659_2659, Va2660_2660, S_22661_2661] :  (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, Pa2657_2657), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null)), F_12658_2658), D2659_2659), hAPP(val, exp(list(char)), val_1(list(char)), Va2660_2660))), S_22661_2661), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22661_2661))) & ! [Pa2662_2662, F_12663_2663, D2664_2664, S_22665_2665] :  (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, Pa2662_2662), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null)), F_12663_2663), D2664_2664)), S_22665_2665), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22665_2665))) & ! [S_22666_2666, Pa2667_2667] :  (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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null))), S_22666_2666)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22666_2666))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2667_2667)))) & ! [Eb2668_2668, S_22669_2669, S2670_2670, Pa2671_2671] :  ((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)))), Eb2668_2668), S_22669_2669)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S2670_2670))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2671_2671)))) => 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)), throw(list(char)), Eb2668_2668)), S_22669_2669)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S2670_2670))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2671_2671)))))) & ! [F_12672_2672, D2673_2673, Va2674_2674, S_22675_2675, Pa2676_2676] :  (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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null)), F_12672_2672), D2673_2673), hAPP(val, exp(list(char)), val_1(list(char)), Va2674_2674))), S_22675_2675)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22675_2675))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2676_2676)))) & ! [F_12677_2677, D2678_2678, S_22679_2679, Pa2680_2680] :  (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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null)), F_12677_2677), D2678_2678)), S_22679_2679)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22679_2679))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2680_2680)))) & ! [F_12681_2681, D2682_2682, E_22683_2683, Va2684_2684, S_2_12685_2685, E_12686_2686, S_02687_2687, S_12688_2688, Pa2689_2689] :  ((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)))), E_12686_2686), S_02687_2687)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S_12688_2688))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2689_2689)))) => (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)))), E_22683_2683), S_12688_2688)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va2684_2684)), S_2_12685_2685))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2689_2689)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_12686_2686), F_12681_2681), D2682_2682), E_22683_2683)), S_02687_2687)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_2_12685_2685))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2689_2689))))))) & ! [Pa2690_2690, Eb2691_2691, S_22692_2692, E_b2693_2693, S2694_2694] :  ((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)))), eval, Pa2690_2690), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2691_2691)), S_22692_2692), E_b2693_2693), S2694_2694)) => (! [A_32695_2695] :  ((=(E_b2693_2693, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32695_2695)))) => ~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)))), eval, Pa2690_2690), Eb2691_2691), S_22692_2692), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32695_2695))), S2694_2694)))) => ((=(E_b2693_2693, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))) => ~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)))), eval, Pa2690_2690), Eb2691_2691), S_22692_2692), hAPP(val, exp(list(char)), val_1(list(char)), null)), S2694_2694))) => ~! [E_32696_2696] :  ((=(E_b2693_2693, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_32696_2696)) => ~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)))), eval, Pa2690_2690), Eb2691_2691), S_22692_2692), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_32696_2696)), S2694_2694)))))))) & ! [X_a2697_2697, Pa2698_2698, Hb2699_2699, C_12700_2700, Va2701_2701] :  ((~=(Va2701_2701, null) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a2697_2697)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a2697_2697), Pa2698_2698), Hb2699_2699), Va2701_2701), hAPP(list(char), ty, class, C_12700_2700))) => ? [A_32702_2702, C_42703_2703, Fs2704_2704] :  (((=(Va2701_2701, hAPP(nat, val, addr, A_32702_2702)) & =(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb2699_2699, A_32702_2702), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_42703_2703), Fs2704_2704)))) & hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), C_42703_2703), C_12700_2700)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2697_2697)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2697_2697), Pa2698_2698))))))))) & ! [Pa2705_2705, Hb2706_2706, Ea2707_2707, Eb2708_2708, Ta2709_2709] :  ((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, Pa2705_2705), Hb2706_2706), Ea2707_2707), Eb2708_2708), Ta2709_2709)) => (hBOOL(hAPP(ty, bool, is_refT, Ta2709_2709)) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), Eb2708_2708)) => (~=(Eb2708_2708, hAPP(val, exp(list(char)), val_1(list(char)), null)) => ((? [A_32710_2710] :  (=(Eb2708_2708, hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32710_2710)))) => ! [C_22711_2711] :  (~=(Ta2709_2709, hAPP(list(char), ty, class, C_22711_2711)))) => ~! [A_32712_2712] :  (~=(Eb2708_2708, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32712_2712))))))))))) & ! [X_a2713_2713, Pa2714_2714, C_12715_2715, F_12716_2716, Ta2717_2717, D2718_2718] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2713_2713)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2713_2713), Pa2714_2714), C_12715_2715), F_12716_2716), Ta2717_2717), D2718_2718)) => hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), C_12715_2715), D2718_2718)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2713_2713)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2713_2713), Pa2714_2714)))))) & ! [Ta2719_2719, Pa2720_2720, Hb2721_2721, Ea2722_2722, Eb2723_2723, T_r_12724_2724] :  ((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, Pa2720_2720), Hb2721_2721), Ea2722_2722), Eb2723_2723), T_r_12724_2724)) => (hBOOL(hAPP(ty, bool, is_refT, T_r_12724_2724)) => 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, Pa2720_2720), Hb2721_2721), Ea2722_2722), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2723_2723)), Ta2719_2719))))) & ! [X_a2725_2725, P2726_2726, C_32727_2727, F2728_2728, T_22729_2729, D_12730_2730] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2725_2725)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2725_2725), P2726_2726), C_32727_2727), F2728_2728), T_22729_2729), D_12730_2730)) => hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2725_2725)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2725_2725), P2726_2726), D_12730_2730), F2728_2728), T_22729_2729), D_12730_2730)))) & ! [X_a2731_2731, T_32732_2732, D_22733_2733, P2734_2734, C_32735_2735, F2736_2736, T_22737_2737, D_12738_2738] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2731_2731)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2731_2731), P2734_2734), C_32735_2735), F2736_2736), T_22737_2737), D_12738_2738)) => (hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2731_2731)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2731_2731), P2734_2734), C_32735_2735), F2736_2736), T_32732_2732), D_22733_2733)) => (=(T_32732_2732, T_22737_2737) & =(D_22733_2733, D_12738_2738))))) & ! [X_a2739_2739, P2740_2740, C_32741_2741, F2742_2742, T_22743_2743, D_12744_2744] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2739_2739)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2739_2739), P2740_2740), C_32741_2741), F2742_2742), T_22743_2743), D_12744_2744)) => hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2739_2739)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), has_field(X_a2739_2739), P2740_2740), C_32741_2741), F2742_2742), T_22743_2743), D_12744_2744)))) & ! [Pa2747_2747, Hb2748_2748, Ea2749_2749, Eb2750_2750, Ta2751_2751] :  ((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, Pa2747_2747), Hb2748_2748), Ea2749_2749), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2750_2750)), Ta2751_2751)) => ~! [T_r2752_2752] :  ((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, Pa2747_2747), Hb2748_2748), Ea2749_2749), Eb2750_2750), T_r2752_2752)) => ~hBOOL(hAPP(ty, bool, is_refT, T_r2752_2752)))))) & ! [T_22753_2753] :  ((hBOOL(hAPP(ty, bool, is_refT, T_22753_2753)) => (~=(T_22753_2753, nt) => ~! [C_22754_2754] :  (~=(T_22753_2753, hAPP(list(char), ty, class, C_22754_2754)))))) & ! [C_12755_2755, Pa2756_2756, Hb2757_2757, Ea2758_2758, Eb2759_2759, Ta2760_2760] :  ((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, Pa2756_2756), Hb2757_2757), Ea2758_2758), Eb2759_2759), Ta2760_2760)) => (hBOOL(hAPP(ty, bool, is_refT, Ta2760_2760)) => (hBOOL(hAPP(list(char), bool, hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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), bool), is_class(product_prod(list(list(char)), exp(list(char)))), Pa2756_2756), C_12755_2755)) => 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, Pa2756_2756), Hb2757_2757), Ea2758_2758), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12755_2755), Eb2759_2759)), hAPP(list(char), ty, class, C_12755_2755))))))) & ! [Bop_12761_2761, E_22762_2762, Eb2763_2763, S_2_12764_2764, E_12765_2765, S_02766_2766, V_12767_2767, S_12768_2768, Pa2769_2769] :  ((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)))), E_12765_2765), S_02766_2766)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), V_12767_2767)), S_12768_2768))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2769_2769)))) => (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)))), E_22762_2762), S_12768_2768)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb2763_2763)), S_2_12764_2764))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2769_2769)))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_12765_2765), Bop_12761_2761), E_22762_2762)), S_02766_2766)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb2763_2763)), S_2_12764_2764))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2769_2769))))))) & ! [X_a2770_2770, List_12771_2771, Exp2772_2772, Exp1_12773_2773, Bop_22774_2774, Exp2_12775_2775] :  (~=(hAPP(exp(X_a2770_2770), exp(X_a2770_2770), hAPP(list(char), fun(exp(X_a2770_2770), exp(X_a2770_2770)), cast(X_a2770_2770), List_12771_2771), Exp2772_2772), hAPP(exp(X_a2770_2770), exp(X_a2770_2770), hAPP(bop, fun(exp(X_a2770_2770), exp(X_a2770_2770)), hAPP(exp(X_a2770_2770), fun(bop, fun(exp(X_a2770_2770), exp(X_a2770_2770))), binOp(X_a2770_2770), Exp1_12773_2773), Bop_22774_2774), Exp2_12775_2775))) & ! [X_a2776_2776, Exp1_12777_2777, Bop_22778_2778, Exp2_12779_2779, List_12780_2780, Exp2781_2781] :  (~=(hAPP(exp(X_a2776_2776), exp(X_a2776_2776), hAPP(bop, fun(exp(X_a2776_2776), exp(X_a2776_2776)), hAPP(exp(X_a2776_2776), fun(bop, fun(exp(X_a2776_2776), exp(X_a2776_2776))), binOp(X_a2776_2776), Exp1_12777_2777), Bop_22778_2778), Exp2_12779_2779), hAPP(exp(X_a2776_2776), exp(X_a2776_2776), hAPP(list(char), fun(exp(X_a2776_2776), exp(X_a2776_2776)), cast(X_a2776_2776), List_12780_2780), Exp2781_2781))) & ! [Bop_12782_2782, E_22783_2783, Pa2784_2784, E_12785_2785, S_02786_2786, Eb2787_2787, S_12788_2788] :  ((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)))), eval, Pa2784_2784), E_12785_2785), S_02786_2786), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2787_2787)), S_12788_2788)) => 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)))), eval, Pa2784_2784), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_12785_2785), Bop_12782_2782), E_22783_2783)), S_02786_2786), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2787_2787)), S_12788_2788)))) & ! [X_a2789_2789, Exp_12790_2790, Exp12791_2791, Bop2792_2792, Exp22793_2793] :  (~=(hAPP(exp(X_a2789_2789), exp(X_a2789_2789), throw(X_a2789_2789), Exp_12790_2790), hAPP(exp(X_a2789_2789), exp(X_a2789_2789), hAPP(bop, fun(exp(X_a2789_2789), exp(X_a2789_2789)), hAPP(exp(X_a2789_2789), fun(bop, fun(exp(X_a2789_2789), exp(X_a2789_2789))), binOp(X_a2789_2789), Exp12791_2791), Bop2792_2792), Exp22793_2793))) & ! [X_a2794_2794, Exp12795_2795, Bop2796_2796, Exp22797_2797, Exp_12798_2798] :  (~=(hAPP(exp(X_a2794_2794), exp(X_a2794_2794), hAPP(bop, fun(exp(X_a2794_2794), exp(X_a2794_2794)), hAPP(exp(X_a2794_2794), fun(bop, fun(exp(X_a2794_2794), exp(X_a2794_2794))), binOp(X_a2794_2794), Exp12795_2795), Bop2796_2796), Exp22797_2797), hAPP(exp(X_a2794_2794), exp(X_a2794_2794), throw(X_a2794_2794), Exp_12798_2798))) & ! [X_a2799_2799, Exp1_12800_2800, Exp2_12801_2801, Exp12802_2802, Bop2803_2803, Exp22804_2804] :  (~=(hAPP(exp(X_a2799_2799), exp(X_a2799_2799), hAPP(exp(X_a2799_2799), fun(exp(X_a2799_2799), exp(X_a2799_2799)), seq(X_a2799_2799), Exp1_12800_2800), Exp2_12801_2801), hAPP(exp(X_a2799_2799), exp(X_a2799_2799), hAPP(bop, fun(exp(X_a2799_2799), exp(X_a2799_2799)), hAPP(exp(X_a2799_2799), fun(bop, fun(exp(X_a2799_2799), exp(X_a2799_2799))), binOp(X_a2799_2799), Exp12802_2802), Bop2803_2803), Exp22804_2804))) & ! [X_a2805_2805, A_12806_2806, Exp_12807_2807, Exp12808_2808, Bop2809_2809, Exp22810_2810] :  (~=(hAPP(exp(X_a2805_2805), exp(X_a2805_2805), hAPP(X_a2805_2805, fun(exp(X_a2805_2805), exp(X_a2805_2805)), lAss(X_a2805_2805), A_12806_2806), Exp_12807_2807), hAPP(exp(X_a2805_2805), exp(X_a2805_2805), hAPP(bop, fun(exp(X_a2805_2805), exp(X_a2805_2805)), hAPP(exp(X_a2805_2805), fun(bop, fun(exp(X_a2805_2805), exp(X_a2805_2805))), binOp(X_a2805_2805), Exp12808_2808), Bop2809_2809), Exp22810_2810))) & ! [X_a2811_2811, Exp12812_2812, Bop2813_2813, Exp22814_2814, Exp1_12815_2815, Exp2_12816_2816] :  (~=(hAPP(exp(X_a2811_2811), exp(X_a2811_2811), hAPP(bop, fun(exp(X_a2811_2811), exp(X_a2811_2811)), hAPP(exp(X_a2811_2811), fun(bop, fun(exp(X_a2811_2811), exp(X_a2811_2811))), binOp(X_a2811_2811), Exp12812_2812), Bop2813_2813), Exp22814_2814), hAPP(exp(X_a2811_2811), exp(X_a2811_2811), hAPP(exp(X_a2811_2811), fun(exp(X_a2811_2811), exp(X_a2811_2811)), seq(X_a2811_2811), Exp1_12815_2815), Exp2_12816_2816))) & ! [X_a2817_2817, Exp12818_2818, Bop2819_2819, Exp22820_2820, A_12821_2821, Exp_12822_2822] :  (~=(hAPP(exp(X_a2817_2817), exp(X_a2817_2817), hAPP(bop, fun(exp(X_a2817_2817), exp(X_a2817_2817)), hAPP(exp(X_a2817_2817), fun(bop, fun(exp(X_a2817_2817), exp(X_a2817_2817))), binOp(X_a2817_2817), Exp12818_2818), Bop2819_2819), Exp22820_2820), hAPP(exp(X_a2817_2817), exp(X_a2817_2817), hAPP(X_a2817_2817, fun(exp(X_a2817_2817), exp(X_a2817_2817)), lAss(X_a2817_2817), A_12821_2821), Exp_12822_2822))) & ! [X_a2823_2823, Exp1_12824_2824, List1_12825_2825, List2_12826_2826, Exp2_12827_2827, Exp12828_2828, Bop2829_2829, Exp22830_2830] :  (~=(hAPP(exp(X_a2823_2823), exp(X_a2823_2823), hAPP(list(char), fun(exp(X_a2823_2823), exp(X_a2823_2823)), hAPP(list(char), fun(list(char), fun(exp(X_a2823_2823), exp(X_a2823_2823))), hAPP(exp(X_a2823_2823), fun(list(char), fun(list(char), fun(exp(X_a2823_2823), exp(X_a2823_2823)))), fAss(X_a2823_2823), Exp1_12824_2824), List1_12825_2825), List2_12826_2826), Exp2_12827_2827), hAPP(exp(X_a2823_2823), exp(X_a2823_2823), hAPP(bop, fun(exp(X_a2823_2823), exp(X_a2823_2823)), hAPP(exp(X_a2823_2823), fun(bop, fun(exp(X_a2823_2823), exp(X_a2823_2823))), binOp(X_a2823_2823), Exp12828_2828), Bop2829_2829), Exp22830_2830))) & ! [X_a2831_2831, Exp12832_2832, Bop2833_2833, Exp22834_2834, Exp1_12835_2835, List1_12836_2836, List2_12837_2837, Exp2_12838_2838] :  (~=(hAPP(exp(X_a2831_2831), exp(X_a2831_2831), hAPP(bop, fun(exp(X_a2831_2831), exp(X_a2831_2831)), hAPP(exp(X_a2831_2831), fun(bop, fun(exp(X_a2831_2831), exp(X_a2831_2831))), binOp(X_a2831_2831), Exp12832_2832), Bop2833_2833), Exp22834_2834), hAPP(exp(X_a2831_2831), exp(X_a2831_2831), hAPP(list(char), fun(exp(X_a2831_2831), exp(X_a2831_2831)), hAPP(list(char), fun(list(char), fun(exp(X_a2831_2831), exp(X_a2831_2831))), hAPP(exp(X_a2831_2831), fun(list(char), fun(list(char), fun(exp(X_a2831_2831), exp(X_a2831_2831)))), fAss(X_a2831_2831), Exp1_12835_2835), List1_12836_2836), List2_12837_2837), Exp2_12838_2838))) & ! [X_a2839_2839, Exp12840_2840, Bop2841_2841, Exp22842_2842, A_12843_2843, Ty_12844_2844, Exp_12845_2845] :  (~=(hAPP(exp(X_a2839_2839), exp(X_a2839_2839), hAPP(bop, fun(exp(X_a2839_2839), exp(X_a2839_2839)), hAPP(exp(X_a2839_2839), fun(bop, fun(exp(X_a2839_2839), exp(X_a2839_2839))), binOp(X_a2839_2839), Exp12840_2840), Bop2841_2841), Exp22842_2842), hAPP(exp(X_a2839_2839), exp(X_a2839_2839), hAPP(ty, fun(exp(X_a2839_2839), exp(X_a2839_2839)), hAPP(X_a2839_2839, fun(ty, fun(exp(X_a2839_2839), exp(X_a2839_2839))), block(X_a2839_2839), A_12843_2843), Ty_12844_2844), Exp_12845_2845))) & ! [X_a2846_2846, A_12847_2847, Ty_12848_2848, Exp_12849_2849, Exp12850_2850, Bop2851_2851, Exp22852_2852] :  (~=(hAPP(exp(X_a2846_2846), exp(X_a2846_2846), hAPP(ty, fun(exp(X_a2846_2846), exp(X_a2846_2846)), hAPP(X_a2846_2846, fun(ty, fun(exp(X_a2846_2846), exp(X_a2846_2846))), block(X_a2846_2846), A_12847_2847), Ty_12848_2848), Exp_12849_2849), hAPP(exp(X_a2846_2846), exp(X_a2846_2846), hAPP(bop, fun(exp(X_a2846_2846), exp(X_a2846_2846)), hAPP(exp(X_a2846_2846), fun(bop, fun(exp(X_a2846_2846), exp(X_a2846_2846))), binOp(X_a2846_2846), Exp12850_2850), Bop2851_2851), Exp22852_2852))) & ! [X_a2853_2853, Exp12854_2854, Bop2855_2855, Exp22856_2856, Exp_12857_2857, List1_12858_2858, List2_12859_2859] :  (~=(hAPP(exp(X_a2853_2853), exp(X_a2853_2853), hAPP(bop, fun(exp(X_a2853_2853), exp(X_a2853_2853)), hAPP(exp(X_a2853_2853), fun(bop, fun(exp(X_a2853_2853), exp(X_a2853_2853))), binOp(X_a2853_2853), Exp12854_2854), Bop2855_2855), Exp22856_2856), hAPP(list(char), exp(X_a2853_2853), hAPP(list(char), fun(list(char), exp(X_a2853_2853)), hAPP(exp(X_a2853_2853), fun(list(char), fun(list(char), exp(X_a2853_2853))), fAcc(X_a2853_2853), Exp_12857_2857), List1_12858_2858), List2_12859_2859))) & ! [X_a2860_2860, Exp_12861_2861, List1_12862_2862, List2_12863_2863, Exp12864_2864, Bop2865_2865, Exp22866_2866] :  (~=(hAPP(list(char), exp(X_a2860_2860), hAPP(list(char), fun(list(char), exp(X_a2860_2860)), hAPP(exp(X_a2860_2860), fun(list(char), fun(list(char), exp(X_a2860_2860))), fAcc(X_a2860_2860), Exp_12861_2861), List1_12862_2862), List2_12863_2863), hAPP(exp(X_a2860_2860), exp(X_a2860_2860), hAPP(bop, fun(exp(X_a2860_2860), exp(X_a2860_2860)), hAPP(exp(X_a2860_2860), fun(bop, fun(exp(X_a2860_2860), exp(X_a2860_2860))), binOp(X_a2860_2860), Exp12864_2864), Bop2865_2865), Exp22866_2866))) & ! [Bop_12867_2867, E_22868_2868, Pa2869_2869, Eb2870_2870, S_22871_2871, E_b2872_2872, S2873_2873] :  ((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, Pa2869_2869), Eb2870_2870), S_22871_2871), E_b2872_2872), S2873_2873)) => 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, Pa2869_2869), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), Eb2870_2870), Bop_12867_2867), E_22868_2868)), S_22871_2871), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_b2872_2872), Bop_12867_2867), E_22868_2868)), S2873_2873)))) & ! [X_a2874_2874, Exp1_32875_2875, Bop_12876_2876, Exp2_32877_2877, Exp1_22878_2878, Bop_32879_2879, Exp2_22880_2880] :  ((=(hAPP(exp(X_a2874_2874), exp(X_a2874_2874), hAPP(bop, fun(exp(X_a2874_2874), exp(X_a2874_2874)), hAPP(exp(X_a2874_2874), fun(bop, fun(exp(X_a2874_2874), exp(X_a2874_2874))), binOp(X_a2874_2874), Exp1_32875_2875), Bop_12876_2876), Exp2_32877_2877), hAPP(exp(X_a2874_2874), exp(X_a2874_2874), hAPP(bop, fun(exp(X_a2874_2874), exp(X_a2874_2874)), hAPP(exp(X_a2874_2874), fun(bop, fun(exp(X_a2874_2874), exp(X_a2874_2874))), binOp(X_a2874_2874), Exp1_22878_2878), Bop_32879_2879), Exp2_22880_2880)) <=> ((=(Exp1_32875_2875, Exp1_22878_2878) & =(ti(bop, Bop_12876_2876), ti(bop, Bop_32879_2879))) & =(Exp2_32877_2877, Exp2_22880_2880)))) & ! [X_a2881_2881, Exp1_12882_2882, Bop_22883_2883, Exp2_12884_2884, Val2885_2885] :  (~=(hAPP(exp(X_a2881_2881), exp(X_a2881_2881), hAPP(bop, fun(exp(X_a2881_2881), exp(X_a2881_2881)), hAPP(exp(X_a2881_2881), fun(bop, fun(exp(X_a2881_2881), exp(X_a2881_2881))), binOp(X_a2881_2881), Exp1_12882_2882), Bop_22883_2883), Exp2_12884_2884), hAPP(val, exp(X_a2881_2881), val_1(X_a2881_2881), Val2885_2885))) & ! [X_a2886_2886, Val2887_2887, Exp1_12888_2888, Bop_22889_2889, Exp2_12890_2890] :  (~=(hAPP(val, exp(X_a2886_2886), val_1(X_a2886_2886), Val2887_2887), hAPP(exp(X_a2886_2886), exp(X_a2886_2886), hAPP(bop, fun(exp(X_a2886_2886), exp(X_a2886_2886)), hAPP(exp(X_a2886_2886), fun(bop, fun(exp(X_a2886_2886), exp(X_a2886_2886))), binOp(X_a2886_2886), Exp1_12888_2888), Bop_22889_2889), Exp2_12890_2890))) & ! [X_a2891_2891, Exp12892_2892, Bop2893_2893, Exp22894_2894, Exp1_12895_2895, List2896_2896, A_12897_2897, Exp2_12898_2898] :  (~=(hAPP(exp(X_a2891_2891), exp(X_a2891_2891), hAPP(bop, fun(exp(X_a2891_2891), exp(X_a2891_2891)), hAPP(exp(X_a2891_2891), fun(bop, fun(exp(X_a2891_2891), exp(X_a2891_2891))), binOp(X_a2891_2891), Exp12892_2892), Bop2893_2893), Exp22894_2894), hAPP(exp(X_a2891_2891), exp(X_a2891_2891), hAPP(X_a2891_2891, fun(exp(X_a2891_2891), exp(X_a2891_2891)), hAPP(list(char), fun(X_a2891_2891, fun(exp(X_a2891_2891), exp(X_a2891_2891))), hAPP(exp(X_a2891_2891), fun(list(char), fun(X_a2891_2891, fun(exp(X_a2891_2891), exp(X_a2891_2891)))), tryCatch(X_a2891_2891), Exp1_12895_2895), List2896_2896), A_12897_2897), Exp2_12898_2898))) & ! [X_a2899_2899, Exp1_12900_2900, List2901_2901, A_12902_2902, Exp2_12903_2903, Exp12904_2904, Bop2905_2905, Exp22906_2906] :  (~=(hAPP(exp(X_a2899_2899), exp(X_a2899_2899), hAPP(X_a2899_2899, fun(exp(X_a2899_2899), exp(X_a2899_2899)), hAPP(list(char), fun(X_a2899_2899, fun(exp(X_a2899_2899), exp(X_a2899_2899))), hAPP(exp(X_a2899_2899), fun(list(char), fun(X_a2899_2899, fun(exp(X_a2899_2899), exp(X_a2899_2899)))), tryCatch(X_a2899_2899), Exp1_12900_2900), List2901_2901), A_12902_2902), Exp2_12903_2903), hAPP(exp(X_a2899_2899), exp(X_a2899_2899), hAPP(bop, fun(exp(X_a2899_2899), exp(X_a2899_2899)), hAPP(exp(X_a2899_2899), fun(bop, fun(exp(X_a2899_2899), exp(X_a2899_2899))), binOp(X_a2899_2899), Exp12904_2904), Bop2905_2905), Exp22906_2906))) & ! [Pa2907_2907, Eb2908_2908, Bop_12909_2909, E_22910_2910, S_22911_2911] :  (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, Pa2907_2907), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2908_2908)), Bop_12909_2909), E_22910_2910)), S_22911_2911), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2908_2908)), S_22911_2911))) & ! [V_12912_2912, Bop_12913_2913, Pa2914_2914, Eb2915_2915, S_22916_2916, E_b2917_2917, S2918_2918] :  ((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, Pa2914_2914), Eb2915_2915), S_22916_2916), E_b2917_2917), S2918_2918)) => 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, Pa2914_2914), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12912_2912)), Bop_12913_2913), Eb2915_2915)), S_22916_2916), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12912_2912)), Bop_12913_2913), E_b2917_2917)), S2918_2918)))) & ! [Bop_12919_2919, E_22920_2920, Eb2921_2921, S_22922_2922, E_b2923_2923, S2924_2924, Pa2925_2925] :  ((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)))), Eb2921_2921), S_22922_2922)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2923_2923), S2924_2924))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2925_2925))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), Eb2921_2921), Bop_12919_2919), E_22920_2920)), S_22922_2922)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_b2923_2923), Bop_12919_2919), E_22920_2920)), S2924_2924))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2925_2925))))) & ! [Bop_12926_2926, E_22927_2927, Eb2928_2928, S_2_12929_2929, Pa2930_2930, E_12931_2931, S_02932_2932, V_12933_2933, S_12934_2934] :  ((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)))), eval, Pa2930_2930), E_12931_2931), S_02932_2932), hAPP(val, exp(list(char)), val_1(list(char)), V_12933_2933)), S_12934_2934)) => (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)))), eval, Pa2930_2930), E_22927_2927), S_12934_2934), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2928_2928)), S_2_12929_2929)) => 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)))), eval, Pa2930_2930), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_12931_2931), Bop_12926_2926), E_22927_2927)), S_02932_2932), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2928_2928)), S_2_12929_2929))))) & ! [Pa2935_2935, V_12936_2936, Bop_12937_2937, Eb2938_2938, S_22939_2939] :  (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, Pa2935_2935), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12936_2936)), Bop_12937_2937), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2938_2938))), S_22939_2939), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2938_2938)), S_22939_2939))) & ! [V_12940_2940, Bop_12941_2941, Eb2942_2942, S_22943_2943, E_b2944_2944, S2945_2945, Pa2946_2946] :  ((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)))), Eb2942_2942), S_22943_2943)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2944_2944), S2945_2945))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2946_2946))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12940_2940)), Bop_12941_2941), Eb2942_2942)), S_22943_2943)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12940_2940)), Bop_12941_2941), E_b2944_2944)), S2945_2945))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2946_2946))))) & ! [Eb2947_2947, Bop_12948_2948, E_22949_2949, S_22950_2950, Pa2951_2951] :  (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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2947_2947)), Bop_12948_2948), E_22949_2949)), S_22950_2950)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb2947_2947)), S_22950_2950))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2951_2951)))) & ! [Bop_12952_2952, E_22953_2953, Eb2954_2954, S_22955_2955, E_b2956_2956, S2957_2957, Pa2958_2958] :  ((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)))), Eb2954_2954), S_22955_2955)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2956_2956), S2957_2957))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2958_2958)))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), Eb2954_2954), Bop_12952_2952), E_22953_2953)), S_22955_2955)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_b2956_2956), Bop_12952_2952), E_22953_2953)), S2957_2957))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2958_2958)))))) & ! [V_12959_2959, Bop_12960_2960, Eb2961_2961, S_22962_2962, Pa2963_2963] :  (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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12959_2959)), Bop_12960_2960), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2961_2961))), S_22962_2962)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb2961_2961)), S_22962_2962))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2963_2963)))) & ! [Va2964_2964, Bop_12965_2965, Eb2966_2966, S_22967_2967, E_b2968_2968, S2969_2969, Pa2970_2970] :  ((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)))), Eb2966_2966), S_22967_2967)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2968_2968), S2969_2969))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2970_2970)))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va2964_2964)), Bop_12965_2965), Eb2966_2966)), S_22967_2967)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va2964_2964)), Bop_12965_2965), E_b2968_2968)), S2969_2969))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2970_2970)))))) & ! [Bop_12971_2971, E_22972_2972, Eb2973_2973, S_22974_2974, E_b2975_2975, S2976_2976, Pa2977_2977] :  ((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)))), Eb2973_2973), S_22974_2974)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b2975_2975)), S2976_2976))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2977_2977)))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), Eb2973_2973), Bop_12971_2971), E_22972_2972)), S_22974_2974)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b2975_2975)), S2976_2976))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2977_2977)))))) & ! [Pa2978_2978, Hb2979_2979, Ea2980_2980, D2981_2981, Eb2982_2982, Ta2983_2983] :  ((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, Pa2978_2978), Hb2979_2979), Ea2980_2980), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), D2981_2981), Eb2982_2982)), Ta2983_2983)) => ~(=(Ta2983_2983, hAPP(list(char), ty, class, D2981_2981)) => ! [T_12984_2984] :  ((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, Pa2978_2978), Hb2979_2979), Ea2980_2980), Eb2982_2982), T_12984_2984)) => (hBOOL(hAPP(ty, bool, is_refT, T_12984_2984)) => ~hBOOL(hAPP(list(char), bool, hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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), bool), is_class(product_prod(list(list(char)), exp(list(char)))), Pa2978_2978), D2981_2981)))))))) & ! [Bop_12985_2985, Va2986_2986, E_22987_2987, V_22988_2988, S_2_12989_2989, E_12990_2990, S_02991_2991, V_12992_2992, S_12993_2993, Pa2994_2994] :  ((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)))), E_12990_2990), S_02991_2991)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), V_12992_2992)), S_12993_2993))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2994_2994)))) => (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)))), E_22987_2987), S_12993_2993)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), V_22988_2988)), S_2_12989_2989))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2994_2994)))) => (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), Bop_12985_2985), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_12992_2992), V_22988_2988))), hAPP(val, option(val), some(val), Va2986_2986)) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_12990_2990), Bop_12985_2985), E_22987_2987)), S_02991_2991)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va2986_2986)), S_2_12989_2989))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2994_2994)))))))) & ! [Bop_12995_2995, Va2996_2996, E_22997_2997, V_22998_2998, S_2_12999_2999, Pa3000_3000, E_13001_3001, S_03002_3002, V_13003_3003, S_13004_3004] :  ((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)))), eval, Pa3000_3000), E_13001_3001), S_03002_3002), hAPP(val, exp(list(char)), val_1(list(char)), V_13003_3003)), S_13004_3004)) => (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)))), eval, Pa3000_3000), E_22997_2997), S_13004_3004), hAPP(val, exp(list(char)), val_1(list(char)), V_22998_2998)), S_2_12999_2999)) => (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), Bop_12995_2995), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_13003_3003), V_22998_2998))), hAPP(val, option(val), some(val), Va2996_2996)) => 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)))), eval, Pa3000_3000), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_13001_3001), Bop_12995_2995), E_22997_2997)), S_03002_3002), hAPP(val, exp(list(char)), val_1(list(char)), Va2996_2996)), S_2_12999_2999)))))) & ! [Pa3005_3005, S_23006_3006, Bop_13007_3007, V_13008_3008, V_23009_3009, Va3010_3010] :  ((=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), Bop_13007_3007), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_13008_3008), V_23009_3009))), hAPP(val, option(val), some(val), Va3010_3010)) => 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, Pa3005_3005), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_13008_3008)), Bop_13007_3007), hAPP(val, exp(list(char)), val_1(list(char)), V_23009_3009))), S_23006_3006), hAPP(val, exp(list(char)), val_1(list(char)), Va3010_3010)), S_23006_3006)))) & ! [S_23011_3011, Pa3012_3012, Bop_13013_3013, V_13014_3014, V_23015_3015, Va3016_3016] :  ((=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), Bop_13013_3013), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_13014_3014), V_23015_3015))), hAPP(val, option(val), some(val), Va3016_3016)) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_13014_3014)), Bop_13013_3013), hAPP(val, exp(list(char)), val_1(list(char)), V_23015_3015))), S_23011_3011)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va3016_3016)), S_23011_3011))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa3012_3012))))) & ! [Pa3017_3017, E_13018_3018, Bop_13019_3019, E_23020_3020, S_23021_3021, E_b3022_3022, S3023_3023] :  ((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)))), eval, Pa3017_3017), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_13018_3018), Bop_13019_3019), E_23020_3020)), S_23021_3021), E_b3022_3022), S3023_3023)) => (! [V_1_23024_3024, S_1_13025_3025, V_2_23026_3026, V_33027_3027] :  ((=(E_b3022_3022, hAPP(val, exp(list(char)), val_1(list(char)), V_33027_3027)) => (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)))), eval, Pa3017_3017), E_13018_3018), S_23021_3021), hAPP(val, exp(list(char)), val_1(list(char)), V_1_23024_3024)), S_1_13025_3025)) => (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)))), eval, Pa3017_3017), E_23020_3020), S_1_13025_3025), hAPP(val, exp(list(char)), val_1(list(char)), V_2_23026_3026)), S3023_3023)) => ~=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), Bop_13019_3019), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_1_23024_3024), V_2_23026_3026))), hAPP(val, option(val), some(val), V_33027_3027)))))) => (! [E3028_3028] :  ((=(E_b3022_3022, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E3028_3028)) => ~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)))), eval, Pa3017_3017), E_13018_3018), S_23021_3021), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E3028_3028)), S3023_3023)))) => ~! [V_1_23029_3029, S_1_13030_3030, E3031_3031] :  ((=(E_b3022_3022, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E3031_3031)) => (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)))), eval, Pa3017_3017), E_13018_3018), S_23021_3021), hAPP(val, exp(list(char)), val_1(list(char)), V_1_23029_3029)), S_1_13030_3030)) => ~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)))), eval, Pa3017_3017), E_23020_3020), S_1_13030_3030), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E3031_3031)), S3023_3023))))))))) & ! [V_2_13032_3032] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), unit), V_2_13032_3032))), none(val))) & ! [V_1_13033_3033, V3034_3034] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_1_13033_3033), hAPP(nat, val, addr, V3034_3034)))), none(val))) & ! [V3035_3035, V_2_13036_3036] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), hAPP(nat, val, addr, V3035_3035)), V_2_13036_3036))), none(val))) & ! [V_2_13037_3037] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), null), V_2_13037_3037))), none(val))) & ! [V_1_13038_3038] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_1_13038_3038), null))), none(val))) & ! [V_1_13039_3039] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_1_13039_3039), unit))), none(val))) & ! [Va3040_3040, V_23041_3041] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), hAPP(bool, val, bool_1, Va3040_3040)), V_23041_3041))), none(val))) & ! [V_13042_3042, Va3043_3043] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_13042_3042), hAPP(bool, val, bool_1, Va3043_3043)))), none(val))) & ! [Bool_13044_3044] :  (~=(null, hAPP(bool, val, bool_1, Bool_13044_3044))) & ! [Bool_13045_3045] :  (~=(hAPP(bool, val, bool_1, Bool_13045_3045), null)) & ! [Bool3046_3046, Bool_13047_3047] :  ((=(hAPP(bool, val, bool_1, Bool3046_3046), hAPP(bool, val, bool_1, Bool_13047_3047)) <=> (hBOOL(Bool3046_3046) <=> hBOOL(Bool_13047_3047)))) & ! [Bool_13048_3048] :  (~=(unit, hAPP(bool, val, bool_1, Bool_13048_3048))) & ! [Bool_13049_3049] :  (~=(hAPP(bool, val, bool_1, Bool_13049_3049), unit)) & ! [Nat3050_3050, Bool3051_3051] :  (~=(hAPP(nat, val, addr, Nat3050_3050), hAPP(bool, val, bool_1, Bool3051_3051))) & ! [Bool3052_3052, Nat3053_3053] :  (~=(hAPP(bool, val, bool_1, Bool3052_3052), hAPP(nat, val, addr, Nat3053_3053))) & ! [V_13054_3054, V_23055_3055] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), c_Expr_Obop_OEq), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_13054_3054), V_23055_3055))), hAPP(val, option(val), some(val), hAPP(bool, val, bool_1, hAPP(val, bool, hAPP(val, fun(val, bool), fequal(val), V_13054_3054), V_23055_3055))))) & ! [C3056_3056, B3057_3057, S_23058_3058, S3059_3059, Pa3060_3060] :  ((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)))), B3057_3057), S_23058_3058)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(bool, val, bool_1, fFalse))), S3059_3059))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa3060_3060)))) => 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))), while(list(char)), B3057_3057), C3056_3056)), S_23058_3058)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), S3059_3059))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa3060_3060)))))) & ! [X_a3061_3061, Exp1_13062_3062, Exp2_13063_3063, Exp13064_3064, Bop3065_3065, Exp23066_3066] :  (~=(hAPP(exp(X_a3061_3061), exp(X_a3061_3061), hAPP(exp(X_a3061_3061), fun(exp(X_a3061_3061), exp(X_a3061_3061)), while(X_a3061_3061), Exp1_13062_3062), Exp2_13063_3063), hAPP(exp(X_a3061_3061), exp(X_a3061_3061), hAPP(bop, fun(exp(X_a3061_3061), exp(X_a3061_3061)), hAPP(exp(X_a3061_3061), fun(bop, fun(exp(X_a3061_3061), exp(X_a3061_3061))), binOp(X_a3061_3061), Exp13064_3064), Bop3065_3065), Exp23066_3066))) & ! [X_a3067_3067, Exp13068_3068, Bop3069_3069, Exp23070_3070, Exp1_13071_3071, Exp2_13072_3072] :  (~=(hAPP(exp(X_a3067_3067), exp(X_a3067_3067), hAPP(bop, fun(exp(X_a3067_3067), exp(X_a3067_3067)), hAPP(exp(X_a3067_3067), fun(bop, fun(exp(X_a3067_3067), exp(X_a3067_3067))), binOp(X_a3067_3067), Exp13068_3068), Bop3069_3069), Exp23070_3070), hAPP(exp(X_a3067_3067), exp(X_a3067_3067), hAPP(exp(X_a3067_3067), fun(exp(X_a3067_3067), exp(X_a3067_3067)), while(X_a3067_3067), Exp1_13071_3071), Exp2_13072_3072))) & ! [C3073_3073, Pa3074_3074, Eb3075_3075, S_03076_3076, E_b3077_3077, S_13078_3078] :  ((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)))), eval, Pa3074_3074), Eb3075_3075), S_03076_3076), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b3077_3077)), S_13078_3078)) => 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)))), eval, Pa3074_3074), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), while(list(char)), Eb3075_3075), C3073_3073)), S_03076_3076), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b3077_3077)), S_13078_3078)))) & ! [X_a3079_3079, List_13080_3080, Exp3081_3081, Exp1_13082_3082, Exp2_13083_3083] :  (~=(hAPP(exp(X_a3079_3079), exp(X_a3079_3079), hAPP(list(char), fun(exp(X_a3079_3079), exp(X_a3079_3079)), cast(X_a3079_3079), List_13080_3080), Exp3081_3081), hAPP(exp(X_a3079_3079), exp(X_a3079_3079), hAPP(exp(X_a3079_3079), fun(exp(X_a3079_3079), exp(X_a3079_3079)), while(X_a3079_3079), Exp1_13082_3082), Exp2_13083_3083))) & ! [X_a3084_3084, Exp1_13085_3085, Exp2_13086_3086, List_13087_3087, Exp3088_3088] :  (~=(hAPP(exp(X_a3084_3084), exp(X_a3084_3084), hAPP(exp(X_a3084_3084), fun(exp(X_a3084_3084), exp(X_a3084_3084)), while(X_a3084_3084), Exp1_13085_3085), Exp2_13086_3086), hAPP(exp(X_a3084_3084), exp(X_a3084_3084), hAPP(list(char), fun(exp(X_a3084_3084), exp(X_a3084_3084)), cast(X_a3084_3084), List_13087_3087), Exp3088_3088))) & ! [X_a3089_3089, Exp_13090_3090, Exp13091_3091, Exp23092_3092] :  (~=(hAPP(exp(X_a3089_3089), exp(X_a3089_3089), throw(X_a3089_3089), Exp_13090_3090), hAPP(exp(X_a3089_3089), exp(X_a3089_3089), hAPP(exp(X_a3089_3089), fun(exp(X_a3089_3089), exp(X_a3089_3089)), while(X_a3089_3089), Exp13091_3091), Exp23092_3092))) & ! [X_a3093_3093, Exp13094_3094, Exp23095_3095, Exp_13096_3096] :  (~=(hAPP(exp(X_a3093_3093), exp(X_a3093_3093), hAPP(exp(X_a3093_3093), fun(exp(X_a3093_3093), exp(X_a3093_3093)), while(X_a3093_3093), Exp13094_3094), Exp23095_3095), hAPP(exp(X_a3093_3093), exp(X_a3093_3093), throw(X_a3093_3093), Exp_13096_3096))) & ! [X_a3097_3097, Exp13098_3098, Exp23099_3099, Exp1_13100_3100, Exp2_13101_3101] :  (~=(hAPP(exp(X_a3097_3097), exp(X_a3097_3097), hAPP(exp(X_a3097_3097), fun(exp(X_a3097_3097), exp(X_a3097_3097)), seq(X_a3097_3097), Exp13098_3098), Exp23099_3099), hAPP(exp(X_a3097_3097), exp(X_a3097_3097), hAPP(exp(X_a3097_3097), fun(exp(X_a3097_3097), exp(X_a3097_3097)), while(X_a3097_3097), Exp1_13100_3100), Exp2_13101_3101))) & ! [X_a3102_3102, A_23103_3103, Exp3104_3104, Exp1_13105_3105, Exp2_13106_3106] :  (~=(hAPP(exp(X_a3102_3102), exp(X_a3102_3102), hAPP(X_a3102_3102, fun(exp(X_a3102_3102), exp(X_a3102_3102)), lAss(X_a3102_3102), A_23103_3103), Exp3104_3104), hAPP(exp(X_a3102_3102), exp(X_a3102_3102), hAPP(exp(X_a3102_3102), fun(exp(X_a3102_3102), exp(X_a3102_3102)), while(X_a3102_3102), Exp1_13105_3105), Exp2_13106_3106))) & ! [X_a3107_3107, Exp1_13108_3108, Exp2_13109_3109, Exp13110_3110, Exp23111_3111] :  (~=(hAPP(exp(X_a3107_3107), exp(X_a3107_3107), hAPP(exp(X_a3107_3107), fun(exp(X_a3107_3107), exp(X_a3107_3107)), while(X_a3107_3107), Exp1_13108_3108), Exp2_13109_3109), hAPP(exp(X_a3107_3107), exp(X_a3107_3107), hAPP(exp(X_a3107_3107), fun(exp(X_a3107_3107), exp(X_a3107_3107)), seq(X_a3107_3107), Exp13110_3110), Exp23111_3111))) & ! [X_a3112_3112, Exp1_13113_3113, Exp2_13114_3114, A_23115_3115, Exp3116_3116] :  (~=(hAPP(exp(X_a3112_3112), exp(X_a3112_3112), hAPP(exp(X_a3112_3112), fun(exp(X_a3112_3112), exp(X_a3112_3112)), while(X_a3112_3112), Exp1_13113_3113), Exp2_13114_3114), hAPP(exp(X_a3112_3112), exp(X_a3112_3112), hAPP(X_a3112_3112, fun(exp(X_a3112_3112), exp(X_a3112_3112)), lAss(X_a3112_3112), A_23115_3115), Exp3116_3116))) & ! [X_a3117_3117, Exp13118_3118, List13119_3119, List23120_3120, Exp23121_3121, Exp1_13122_3122, Exp2_13123_3123] :  (~=(hAPP(exp(X_a3117_3117), exp(X_a3117_3117), hAPP(list(char), fun(exp(X_a3117_3117), exp(X_a3117_3117)), hAPP(list(char), fun(list(char), fun(exp(X_a3117_3117), exp(X_a3117_3117))), hAPP(exp(X_a3117_3117), fun(list(char), fun(list(char), fun(exp(X_a3117_3117), exp(X_a3117_3117)))), fAss(X_a3117_3117), Exp13118_3118), List13119_3119), List23120_3120), Exp23121_3121), hAPP(exp(X_a3117_3117), exp(X_a3117_3117), hAPP(exp(X_a3117_3117), fun(exp(X_a3117_3117), exp(X_a3117_3117)), while(X_a3117_3117), Exp1_13122_3122), Exp2_13123_3123))) & ! [X_a3124_3124, Exp1_13125_3125, Exp2_13126_3126, Exp13127_3127, List13128_3128, List23129_3129, Exp23130_3130] :  (~=(hAPP(exp(X_a3124_3124), exp(X_a3124_3124), hAPP(exp(X_a3124_3124), fun(exp(X_a3124_3124), exp(X_a3124_3124)), while(X_a3124_3124), Exp1_13125_3125), Exp2_13126_3126), hAPP(exp(X_a3124_3124), exp(X_a3124_3124), hAPP(list(char), fun(exp(X_a3124_3124), exp(X_a3124_3124)), hAPP(list(char), fun(list(char), fun(exp(X_a3124_3124), exp(X_a3124_3124))), hAPP(exp(X_a3124_3124), fun(list(char), fun(list(char), fun(exp(X_a3124_3124), exp(X_a3124_3124)))), fAss(X_a3124_3124), Exp13127_3127), List13128_3128), List23129_3129), Exp23130_3130))) & ! [X_a3131_3131, Exp1_13132_3132, Exp2_13133_3133, A_23134_3134, Ty3135_3135, Exp3136_3136] :  (~=(hAPP(exp(X_a3131_3131), exp(X_a3131_3131), hAPP(exp(X_a3131_3131), fun(exp(X_a3131_3131), exp(X_a3131_3131)), while(X_a3131_3131), Exp1_13132_3132), Exp2_13133_3133), hAPP(exp(X_a3131_3131), exp(X_a3131_3131), hAPP(ty, fun(exp(X_a3131_3131), exp(X_a3131_3131)), hAPP(X_a3131_3131, fun(ty, fun(exp(X_a3131_3131), exp(X_a3131_3131))), block(X_a3131_3131), A_23134_3134), Ty3135_3135), Exp3136_3136))) & ! [X_a3137_3137, A_23138_3138, Ty3139_3139, Exp3140_3140, Exp1_13141_3141, Exp2_13142_3142] :  (~=(hAPP(exp(X_a3137_3137), exp(X_a3137_3137), hAPP(ty, fun(exp(X_a3137_3137), exp(X_a3137_3137)), hAPP(X_a3137_3137, fun(ty, fun(exp(X_a3137_3137), exp(X_a3137_3137))), block(X_a3137_3137), A_23138_3138), Ty3139_3139), Exp3140_3140), hAPP(exp(X_a3137_3137), exp(X_a3137_3137), hAPP(exp(X_a3137_3137), fun(exp(X_a3137_3137), exp(X_a3137_3137)), while(X_a3137_3137), Exp1_13141_3141), Exp2_13142_3142))) & ! [X_a3143_3143, Exp3144_3144, List13145_3145, List23146_3146, Exp1_13147_3147, Exp2_13148_3148] :  (~=(hAPP(list(char), exp(X_a3143_3143), hAPP(list(char), fun(list(char), exp(X_a3143_3143)), hAPP(exp(X_a3143_3143), fun(list(char), fun(list(char), exp(X_a3143_3143))), fAcc(X_a3143_3143), Exp3144_3144), List13145_3145), List23146_3146), hAPP(exp(X_a3143_3143), exp(X_a3143_3143), hAPP(exp(X_a3143_3143), fun(exp(X_a3143_3143), exp(X_a3143_3143)), while(X_a3143_3143), Exp1_13147_3147), Exp2_13148_3148))) & ! [X_a3149_3149, Exp1_13150_3150, Exp2_13151_3151, Exp3152_3152, List13153_3153, List23154_3154] :  (~=(hAPP(exp(X_a3149_3149), exp(X_a3149_3149), hAPP(exp(X_a3149_3149), fun(exp(X_a3149_3149), exp(X_a3149_3149)), while(X_a3149_3149), Exp1_13150_3150), Exp2_13151_3151), hAPP(list(char), exp(X_a3149_3149), hAPP(list(char), fun(list(char), exp(X_a3149_3149)), hAPP(exp(X_a3149_3149), fun(list(char), fun(list(char), exp(X_a3149_3149))), fAcc(X_a3149_3149), Exp3152_3152), List13153_3153), List23154_3154))) & ! [X_a3155_3155, Exp1_33156_3156, Exp2_33157_3157, Exp1_23158_3158, Exp2_23159_3159] :  ((=(hAPP(exp(X_a3155_3155), exp(X_a3155_3155), hAPP(exp(X_a3155_3155), fun(exp(X_a3155_3155), exp(X_a3155_3155)), while(X_a3155_3155), Exp1_33156_3156), Exp2_33157_3157), hAPP(exp(X_a3155_3155), exp(X_a3155_3155), hAPP(exp(X_a3155_3155), fun(exp(X_a3155_3155), exp(X_a3155_3155)), while(X_a3155_3155), Exp1_23158_3158), Exp2_23159_3159)) <=> (=(Exp1_33156_3156, Exp1_23158_3158) & =(Exp2_33157_3157, Exp2_23159_3159)))) & ! [X_a3160_3160, Exp1_13161_3161, Exp2_13162_3162, Val3163_3163] :  (~=(hAPP(exp(X_a3160_3160), exp(X_a3160_3160), hAPP(exp(X_a3160_3160), fun(exp(X_a3160_3160), exp(X_a3160_3160)), while(X_a3160_3160), Exp1_13161_3161), Exp2_13162_3162), hAPP(val, exp(X_a3160_3160), val_1(X_a3160_3160), Val3163_3163))) & ! [X_a3164_3164, Val3165_3165, Exp1_13166_3166, Exp2_13167_3167] :  (~=(hAPP(val, exp(X_a3164_3164), val_1(X_a3164_3164), Val3165_3165), hAPP(exp(X_a3164_3164), exp(X_a3164_3164), hAPP(exp(X_a3164_3164), fun(exp(X_a3164_3164), exp(X_a3164_3164)), while(X_a3164_3164), Exp1_13166_3166), Exp2_13167_3167))) & ! [X_a3168_3168, Exp13169_3169, Exp23170_3170, Exp1_13171_3171, List3172_3172, A_13173_3173, Exp2_13174_3174] :  (~=(hAPP(exp(X_a3168_3168), exp(X_a3168_3168), hAPP(exp(X_a3168_3168), fun(exp(X_a3168_3168), exp(X_a3168_3168)), while(X_a3168_3168), Exp13169_3169), Exp23170_3170), hAPP(exp(X_a3168_3168), exp(X_a3168_3168), hAPP(X_a3168_3168, fun(exp(X_a3168_3168), exp(X_a3168_3168)), hAPP(list(char), fun(X_a3168_3168, fun(exp(X_a3168_3168), exp(X_a3168_3168))), hAPP(exp(X_a3168_3168), fun(list(char), fun(X_a3168_3168, fun(exp(X_a3168_3168), exp(X_a3168_3168)))), tryCatch(X_a3168_3168), Exp1_13171_3171), List3172_3172), A_13173_3173), Exp2_13174_3174))) & ! [X_a3175_3175, Exp1_13176_3176, List3177_3177, A_13178_3178, Exp2_13179_3179, Exp13180_3180, Exp23181_3181] :  (~=(hAPP(exp(X_a3175_3175), exp(X_a3175_3175), hAPP(X_a3175_3175, fun(exp(X_a3175_3175), exp(X_a3175_3175)), hAPP(list(char), fun(X_a3175_3175, fun(exp(X_a3175_3175), exp(X_a3175_3175))), hAPP(exp(X_a3175_3175), fun(list(char), fun(X_a3175_3175, fun(exp(X_a3175_3175), exp(X_a3175_3175)))), tryCatch(X_a3175_3175), Exp1_13176_3176), List3177_3177), A_13178_3178), Exp2_13179_3179), hAPP(exp(X_a3175_3175), exp(X_a3175_3175), hAPP(exp(X_a3175_3175), fun(exp(X_a3175_3175), exp(X_a3175_3175)), while(X_a3175_3175), Exp13180_3180), Exp23181_3181))) & ! [Y3182_3182] :  ((~=(ti(bop, Y3182_3182), c_Expr_Obop_OEq) => =(ti(bop, Y3182_3182), add))) & ! [T3183_3183, A3184_3184] :  (=(ti(T3183_3183, ti(T3183_3183, A3184_3184)), ti(T3183_3183, A3184_3184))) & ! [P3185_3185] :  ((~hBOOL(hAPP(bool, bool, fNot, P3185_3185)) | ~hBOOL(P3185_3185))) & ! [P3186_3186] :  ((hBOOL(P3186_3186) | hBOOL(hAPP(bool, bool, fNot, P3186_3186)))) & ! [X_a3187_3187, X_c3188_3188, X_b3189_3189, P3190_3190, Q3191_3191, R3192_3192] :  (=(hAPP(X_a3187_3187, X_c3188_3188, hAPP(fun(X_a3187_3187, X_b3189_3189), fun(X_a3187_3187, X_c3188_3188), hAPP(fun(X_b3189_3189, X_c3188_3188), fun(fun(X_a3187_3187, X_b3189_3189), fun(X_a3187_3187, X_c3188_3188)), combb(X_b3189_3189, X_c3188_3188, X_a3187_3187), P3190_3190), Q3191_3191), R3192_3192), hAPP(X_b3189_3189, X_c3188_3188, P3190_3190, hAPP(X_a3187_3187, X_b3189_3189, Q3191_3191, R3192_3192)))) & ! [X_a3193_3193, X_c3194_3194, X_b3195_3195, P3196_3196, Q3197_3197, R3198_3198] :  (=(hAPP(X_a3193_3193, X_c3194_3194, hAPP(X_b3195_3195, fun(X_a3193_3193, X_c3194_3194), hAPP(fun(X_a3193_3193, fun(X_b3195_3195, X_c3194_3194)), fun(X_b3195_3195, fun(X_a3193_3193, X_c3194_3194)), combc(X_a3193_3193, X_b3195_3195, X_c3194_3194), P3196_3196), Q3197_3197), R3198_3198), hAPP(X_b3195_3195, X_c3194_3194, hAPP(X_a3193_3193, fun(X_b3195_3195, X_c3194_3194), P3196_3196, R3198_3198), Q3197_3197))) & ! [X_b3199_3199, X_a3200_3200, P3201_3201, Q3202_3202] :  (=(hAPP(X_b3199_3199, X_a3200_3200, hAPP(X_a3200_3200, fun(X_b3199_3199, X_a3200_3200), combk(X_a3200_3200, X_b3199_3199), P3201_3201), Q3202_3202), ti(X_a3200_3200, P3201_3201))) & ! [X_a3203_3203, X_c3204_3204, X_b3205_3205, P3206_3206, Q3207_3207, R3208_3208] :  (=(hAPP(X_a3203_3203, X_c3204_3204, hAPP(fun(X_a3203_3203, X_b3205_3205), fun(X_a3203_3203, X_c3204_3204), hAPP(fun(X_a3203_3203, fun(X_b3205_3205, X_c3204_3204)), fun(fun(X_a3203_3203, X_b3205_3205), fun(X_a3203_3203, X_c3204_3204)), combs(X_a3203_3203, X_b3205_3205, X_c3204_3204), P3206_3206), Q3207_3207), R3208_3208), hAPP(X_b3205_3205, X_c3204_3204, hAPP(X_a3203_3203, fun(X_b3205_3205, X_c3204_3204), P3206_3206, R3208_3208), hAPP(X_a3203_3203, X_b3205_3205, Q3207_3207, R3208_3208)))) & ! [Q3209_3209, P3210_3210] :  (((~hBOOL(P3210_3210) | ~hBOOL(Q3209_3209)) | hBOOL(hAPP(bool, bool, hAPP(bool, fun(bool, bool), fconj, P3210_3210), Q3209_3209)))) & ! [P3211_3211, Q3212_3212] :  ((~hBOOL(hAPP(bool, bool, hAPP(bool, fun(bool, bool), fconj, P3211_3211), Q3212_3212)) | hBOOL(P3211_3211))) & ! [P3213_3213, Q3214_3214] :  ((~hBOOL(hAPP(bool, bool, hAPP(bool, fun(bool, bool), fconj, P3213_3213), Q3214_3214)) | hBOOL(Q3214_3214))) & ~hBOOL(fFalse) & ! [P3215_3215] :  ((=(ti(bool, P3215_3215), fTrue) | =(ti(bool, P3215_3215), fFalse))) & ! [X_a3216_3216, X3217_3217, Y3218_3218] :  ((~hBOOL(hAPP(X_a3216_3216, bool, hAPP(X_a3216_3216, fun(X_a3216_3216, bool), fequal(X_a3216_3216), X3217_3217), Y3218_3218)) | =(ti(X_a3216_3216, X3217_3217), ti(X_a3216_3216, Y3218_3218)))) & ! [X_a3219_3219, X3220_3220, Y3221_3221] :  ((~=(ti(X_a3219_3219, X3220_3220), ti(X_a3219_3219, Y3221_3221)) | hBOOL(hAPP(X_a3219_3219, bool, hAPP(X_a3219_3219, fun(X_a3219_3219, bool), fequal(X_a3219_3219), X3220_3220), Y3221_3221)))) & ~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))))
% 165.17/79.09  	-> [1] =(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))))), eval), eval), ! [X_a200_200] :  (=(ti(fun(exp(X_a200_200), bool), final(X_a200_200)), final(X_a200_200))), ! [X_b201_201, X_c202_202, X_a203_203] :  (=(ti(fun(fun(X_b201_201, X_c202_202), fun(fun(X_a203_203, X_b201_201), fun(X_a203_203, X_c202_202))), combb(X_b201_201, X_c202_202, X_a203_203)), combb(X_b201_201, X_c202_202, X_a203_203))), ! [X_a204_204, X_b205_205, X_c206_206] :  (=(ti(fun(fun(X_a204_204, fun(X_b205_205, X_c206_206)), fun(X_b205_205, fun(X_a204_204, X_c206_206))), combc(X_a204_204, X_b205_205, X_c206_206)), combc(X_a204_204, X_b205_205, X_c206_206))), ! [X_a207_207, X_b208_208] :  (=(ti(fun(X_a207_207, fun(X_b208_208, X_a207_207)), combk(X_a207_207, X_b208_208)), combk(X_a207_207, X_b208_208))), ! [X_a209_209, X_b210_210, X_c211_211] :  (=(ti(fun(fun(X_a209_209, fun(X_b210_210, X_c211_211)), fun(fun(X_a209_209, X_b210_210), fun(X_a209_209, X_c211_211))), combs(X_a209_209, X_b210_210, X_c211_211)), combs(X_a209_209, X_b210_210, X_c211_211))), ! [X_a212_212] :  (=(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, X_a212_212)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool)))), conf(X_a212_212)), conf(X_a212_212))), ! [X_a213_213] :  (=(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, X_a213_213)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool)), hconf(X_a213_213)), hconf(X_a213_213))), ! [X_a214_214] :  (=(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, X_a214_214)))))))), 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(X_a214_214)), lconf(X_a214_214))), ! [X_a215_215] :  (=(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, X_a215_215)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool))), oconf(X_a215_215)), oconf(X_a215_215))), =(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), bool)), is_class(product_prod(list(list(char)), exp(list(char))))), is_class(product_prod(list(list(char)), exp(list(char))))), ! [X_a216_216] :  (=(ti(fun(exp(X_a216_216), fun(option(fun(X_a216_216, bool)), bool)), d(X_a216_216)), d(X_a216_216))), =(ti(list(char), classCast), classCast), =(ti(list(char), nullPointer), nullPointer), =(ti(fun(list(char), nat), addr_of_sys_xcpt), addr_of_sys_xcpt), =(ti(fun(product_prod(bop, product_prod(val, val)), option(val)), binop), binop), =(ti(bop, add), add), =(ti(bop, c_Expr_Obop_OEq), c_Expr_Obop_OEq), ! [X_a217_217] :  (=(ti(fun(exp(X_a217_217), fun(bop, fun(exp(X_a217_217), exp(X_a217_217)))), binOp(X_a217_217)), binOp(X_a217_217))), ! [X_a218_218] :  (=(ti(fun(X_a218_218, fun(ty, fun(exp(X_a218_218), exp(X_a218_218)))), block(X_a218_218)), block(X_a218_218))), ! [X_a219_219] :  (=(ti(fun(list(char), fun(exp(X_a219_219), exp(X_a219_219))), cast(X_a219_219)), cast(X_a219_219))), ! [X_a220_220] :  (=(ti(fun(exp(X_a220_220), fun(list(char), fun(list(char), exp(X_a220_220)))), fAcc(X_a220_220)), fAcc(X_a220_220))), ! [X_a221_221] :  (=(ti(fun(exp(X_a221_221), fun(list(char), fun(list(char), fun(exp(X_a221_221), exp(X_a221_221))))), fAss(X_a221_221)), fAss(X_a221_221))), ! [X_a222_222] :  (=(ti(fun(X_a222_222, fun(exp(X_a222_222), exp(X_a222_222))), lAss(X_a222_222)), lAss(X_a222_222))), ! [X_a223_223] :  (=(ti(fun(exp(X_a223_223), fun(exp(X_a223_223), exp(X_a223_223))), seq(X_a223_223)), seq(X_a223_223))), ! [X_a224_224] :  (=(ti(fun(exp(X_a224_224), fun(list(char), fun(X_a224_224, fun(exp(X_a224_224), exp(X_a224_224))))), tryCatch(X_a224_224)), tryCatch(X_a224_224))), ! [X_a225_225] :  (=(ti(fun(val, exp(X_a225_225)), val_1(X_a225_225)), val_1(X_a225_225))), ! [X_a226_226] :  (=(ti(fun(exp(X_a226_226), fun(exp(X_a226_226), exp(X_a226_226))), while(X_a226_226)), while(X_a226_226))), ! [X_a227_227] :  (=(ti(fun(exp(X_a227_227), exp(X_a227_227)), throw(X_a227_227)), throw(X_a227_227))), ! [X_a228_228, X_b229_229] :  (=(ti(fun(fun(X_a228_228, X_b229_229), fun(X_a228_228, fun(X_b229_229, fun(X_a228_228, X_b229_229)))), fun_upd(X_a228_228, X_b229_229)), fun_upd(X_a228_228, X_b229_229))), ! [X_a230_230] :  (=(ti(X_a230_230, undefined(X_a230_230)), undefined(X_a230_230))), =(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), ! [X_a231_231, X_b232_232] :  (=(ti(fun(fun(X_a231_231, option(X_b232_232)), fun(X_a231_231, bool)), dom(X_a231_231, X_b232_232)), dom(X_a231_231, X_b232_232))), ! [X_a233_233, X_b234_234] :  (=(ti(fun(fun(X_a233_233, option(X_b234_234)), fun(fun(X_a233_233, option(X_b234_234)), fun(X_a233_233, option(X_b234_234)))), map_add(X_a233_233, X_b234_234)), map_add(X_a233_233, X_b234_234))), =(ti(fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool)), hext), hext), ! [X_a235_235] :  (=(ti(option(X_a235_235), none(X_a235_235)), none(X_a235_235))), ! [X_a236_236] :  (=(ti(fun(X_a236_236, option(X_a236_236)), some(X_a236_236)), some(X_a236_236))), ! [X_a237_237] :  (=(ti(fun(option(X_a237_237), X_a237_237), the(X_a237_237)), the(X_a237_237))), ! [X_e238_238, X_f239_239] :  (=(ti(fun(X_e238_238, fun(X_f239_239, product_prod(X_e238_238, X_f239_239))), product_Pair(X_e238_238, X_f239_239)), product_Pair(X_e238_238, X_f239_239))), ! [X_a240_240, X_b241_241, X_c242_242] :  (=(ti(fun(fun(product_prod(X_a240_240, X_b241_241), X_c242_242), fun(X_a240_240, fun(X_b241_241, X_c242_242))), product_curry(X_a240_240, X_b241_241, X_c242_242)), product_curry(X_a240_240, X_b241_241, X_c242_242))), ! [X_b243_243, X_c244_244, X_a245_245] :  (=(ti(fun(fun(X_b243_243, fun(X_c244_244, X_a245_245)), fun(product_prod(X_b243_243, X_c244_244), X_a245_245)), produc1605651328_split(X_b243_243, X_c244_244, X_a245_245)), produc1605651328_split(X_b243_243, X_c244_244, X_a245_245))), ! [X_a246_246, X_b247_247, X_c248_248] :  (=(ti(fun(fun(X_a246_246, fun(X_b247_247, X_c248_248)), fun(product_prod(X_a246_246, X_b247_247), X_c248_248)), product_prod_case(X_a246_246, X_b247_247, X_c248_248)), product_prod_case(X_a246_246, X_b247_247, X_c248_248))), ! [X_b249_249, X_c250_250, X_a251_251] :  (=(ti(fun(fun(X_b249_249, fun(X_c250_250, X_a251_251)), fun(product_prod(X_b249_249, X_c250_250), X_a251_251)), product_prod_rec(X_b249_249, X_c250_250, X_a251_251)), product_prod_rec(X_b249_249, X_c250_250, X_a251_251))), ! [X_a252_252] :  (=(ti(fun(fun(X_a252_252, bool), fun(X_a252_252, bool)), collect(X_a252_252)), collect(X_a252_252))), =(ti(fun(list(char), fun(exp(list(char)), bool)), assigned), assigned), =(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), =(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), =(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), ! [X_a253_253] :  (=(ti(fun(fun(product_prod(X_a253_253, X_a253_253), bool), fun(product_prod(X_a253_253, X_a253_253), bool)), transitive_rtrancl(X_a253_253)), transitive_rtrancl(X_a253_253))), ! [X_a254_254] :  (=(ti(fun(fun(X_a254_254, fun(X_a254_254, bool)), fun(X_a254_254, fun(X_a254_254, bool))), transitive_rtranclp(X_a254_254)), transitive_rtranclp(X_a254_254))), ! [X_a255_255] :  (=(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, X_a255_255)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool))))), has_field(X_a255_255)), has_field(X_a255_255))), ! [X_a256_256] :  (=(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, X_a256_256)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool))))), sees_field(X_a256_256)), sees_field(X_a256_256))), ! [X_a257_257] :  (=(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, X_a257_257)))))))), fun(product_prod(list(char), list(char)), bool)), subcls1(X_a257_257)), subcls1(X_a257_257))), ! [X_a258_258] :  (=(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, X_a258_258)))))))), fun(list(char), fun(list(char), bool))), subcls1p(X_a258_258)), subcls1p(X_a258_258))), ! [X_m259_259] :  (=(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, X_m259_259)))))))), fun(ty, fun(ty, bool))), widen(X_m259_259)), widen(X_m259_259))), =(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))), typeSa1687304666_sconf), typeSa1687304666_sconf), =(ti(fun(ty, bool), is_refT), is_refT), =(ti(fun(list(char), ty), class), class), =(ti(ty, nt), nt), =(ti(ty, void), void), =(ti(fun(nat, val), addr), addr), =(ti(fun(bool, val), bool_1), bool_1), =(ti(val, null), null), =(ti(val, unit), unit), =(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))), wwf_J_mdecl), wwf_J_mdecl), =(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))))), =(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), =(ti(bool, fFalse), fFalse), =(ti(fun(bool, bool), fNot), fNot), =(ti(bool, fTrue), fTrue), =(ti(fun(bool, fun(bool, bool)), fconj), fconj), ! [X_a260_260] :  (=(ti(fun(X_a260_260, fun(X_a260_260, bool)), fequal(X_a260_260)), fequal(X_a260_260))), ! [X_a261_261, X_c262_262, B_1_1263_263, B_2_1264_264] :  (=(hAPP(X_a261_261, X_c262_262, ti(fun(X_a261_261, X_c262_262), B_1_1263_263), B_2_1264_264), hAPP(X_a261_261, X_c262_262, B_1_1263_263, B_2_1264_264))), ! [X_a265_265, X_c266_266, B_1_1267_267, B_2_1268_268] :  (=(hAPP(X_a265_265, X_c266_266, B_1_1267_267, ti(X_a265_265, B_2_1268_268)), hAPP(X_a265_265, X_c266_266, B_1_1267_267, B_2_1268_268))), ! [X_c269_269, X_a270_270, B_1_1271_271, B_2_1272_272] :  (=(ti(X_c269_269, hAPP(X_a270_270, X_c269_269, B_1_1271_271, B_2_1272_272)), hAPP(X_a270_270, X_c269_269, B_1_1271_271, B_2_1272_272))), ! [B_1_1273_273] :  ((hBOOL(ti(bool, B_1_1273_273)) <=> hBOOL(B_1_1273_273))), ! [X_a274_274] :  (=(ti(fun(X_a274_274, fun(fun(X_a274_274, bool), bool)), member(X_a274_274)), member(X_a274_274))), =(ti(fun(list(char), option(ty)), e), e), =(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), =(ti(ty, t), t), =(ti(ty, t_1), t_1), =(ti(list(char), v_1), v_1), =(ti(exp(list(char)), e_a), e_a), =(ti(exp(list(char)), ea), ea), =(ti(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), h_a), h_a), =(ti(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), ha), ha), =(ti(fun(list(char), option(val)), l_a), l_a), =(ti(fun(list(char), option(val)), la), la), =(ti(val, v_2), v_2), =(ti(val, v), v), =(hAPP(list(char), option(val), l_a, v_1), hAPP(val, option(val), some(val), v_2)), 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))), ! [X_b275_275, X_a276_276, F_2277_277, X_2278_278] :  (=(hAPP(X_b275_275, fun(X_a276_276, X_b275_275), hAPP(X_a276_276, fun(X_b275_275, fun(X_a276_276, X_b275_275)), hAPP(fun(X_a276_276, X_b275_275), fun(X_a276_276, fun(X_b275_275, fun(X_a276_276, X_b275_275))), fun_upd(X_a276_276, X_b275_275), F_2277_277), X_2278_278), hAPP(X_a276_276, X_b275_275, F_2277_277, X_2278_278)), ti(fun(X_a276_276, X_b275_275), F_2277_277))), 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)), ! [X_b279_279, X_a280_280, M281_281, A_4282_282, B283_283, X_2284_284, Y_1285_285] :  ((=(hAPP(X_b279_279, option(X_a280_280), hAPP(option(X_a280_280), fun(X_b279_279, option(X_a280_280)), hAPP(X_b279_279, fun(option(X_a280_280), fun(X_b279_279, option(X_a280_280))), hAPP(fun(X_b279_279, option(X_a280_280)), fun(X_b279_279, fun(option(X_a280_280), fun(X_b279_279, option(X_a280_280)))), fun_upd(X_b279_279, option(X_a280_280)), M281_281), A_4282_282), hAPP(X_a280_280, option(X_a280_280), some(X_a280_280), B283_283)), X_2284_284), hAPP(X_a280_280, option(X_a280_280), some(X_a280_280), Y_1285_285)) <=> ((=(ti(X_b279_279, X_2284_284), ti(X_b279_279, A_4282_282)) & =(ti(X_a280_280, B283_283), ti(X_a280_280, Y_1285_285))) | (~=(ti(X_b279_279, X_2284_284), ti(X_b279_279, A_4282_282)) & =(hAPP(X_b279_279, option(X_a280_280), M281_281, X_2284_284), hAPP(X_a280_280, option(X_a280_280), some(X_a280_280), Y_1285_285)))))), ! [X_b286_286, X_a287_287, T_5288_288, K289_289, X_2290_290] :  ((=(hAPP(X_b286_286, option(X_a287_287), T_5288_288, K289_289), hAPP(X_a287_287, option(X_a287_287), some(X_a287_287), X_2290_290)) => =(hAPP(option(X_a287_287), fun(X_b286_286, option(X_a287_287)), hAPP(X_b286_286, fun(option(X_a287_287), fun(X_b286_286, option(X_a287_287))), hAPP(fun(X_b286_286, option(X_a287_287)), fun(X_b286_286, fun(option(X_a287_287), fun(X_b286_286, option(X_a287_287)))), fun_upd(X_b286_286, option(X_a287_287)), T_5288_288), K289_289), hAPP(X_a287_287, option(X_a287_287), some(X_a287_287), X_2290_290)), ti(fun(X_b286_286, option(X_a287_287)), T_5288_288)))), ! [X_b291_291, X_a292_292, M293_293, A_4294_294, X_2295_295, N296_296, Y_1297_297] :  ((=(hAPP(option(X_b291_291), fun(X_a292_292, option(X_b291_291)), hAPP(X_a292_292, fun(option(X_b291_291), fun(X_a292_292, option(X_b291_291))), hAPP(fun(X_a292_292, option(X_b291_291)), fun(X_a292_292, fun(option(X_b291_291), fun(X_a292_292, option(X_b291_291)))), fun_upd(X_a292_292, option(X_b291_291)), M293_293), A_4294_294), hAPP(X_b291_291, option(X_b291_291), some(X_b291_291), X_2295_295)), hAPP(option(X_b291_291), fun(X_a292_292, option(X_b291_291)), hAPP(X_a292_292, fun(option(X_b291_291), fun(X_a292_292, option(X_b291_291))), hAPP(fun(X_a292_292, option(X_b291_291)), fun(X_a292_292, fun(option(X_b291_291), fun(X_a292_292, option(X_b291_291)))), fun_upd(X_a292_292, option(X_b291_291)), N296_296), A_4294_294), hAPP(X_b291_291, option(X_b291_291), some(X_b291_291), Y_1297_297))) => =(ti(X_b291_291, X_2295_295), ti(X_b291_291, Y_1297_297)))), ! [Ta298_298, Ea299_299] :  ((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)), typeSa1687304666_sconf, p), Ea299_299), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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), Ea299_299), ea), Ta298_298)) => ? [T_4300_300] :  ((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), Ea299_299), e_a), T_4300_300)) & 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), T_4300_300), Ta298_298))))))), ! [X_a301_301, X_b302_302, X_c303_303, X_d304_304, X_e305_305, X_f306_306, X_2307_307, Pa308_308] :  ((! [A_3309_309, B_1310_310, C_6311_311, D_5312_312, E313_313, F_3314_314] :  (hBOOL(hAPP(product_prod(X_a301_301, product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))))), bool, Pa308_308, hAPP(product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))), product_prod(X_a301_301, product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))))), hAPP(X_a301_301, fun(product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))), product_prod(X_a301_301, product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))))), product_Pair(X_a301_301, product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))))), A_3309_309), hAPP(product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))), product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))), hAPP(X_b302_302, fun(product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))), product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))))), product_Pair(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))), B_1310_310), hAPP(product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)), product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))), hAPP(X_c303_303, fun(product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)), product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)))), product_Pair(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))), C_6311_311), hAPP(product_prod(X_e305_305, X_f306_306), product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306)), hAPP(X_d304_304, fun(product_prod(X_e305_305, X_f306_306), product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))), product_Pair(X_d304_304, product_prod(X_e305_305, X_f306_306)), D_5312_312), hAPP(X_f306_306, product_prod(X_e305_305, X_f306_306), hAPP(X_e305_305, fun(X_f306_306, product_prod(X_e305_305, X_f306_306)), product_Pair(X_e305_305, X_f306_306), E313_313), F_3314_314)))))))) => hBOOL(hAPP(product_prod(X_a301_301, product_prod(X_b302_302, product_prod(X_c303_303, product_prod(X_d304_304, product_prod(X_e305_305, X_f306_306))))), bool, Pa308_308, X_2307_307)))), ! [X_a315_315, X_b316_316, X_c317_317, X_d318_318, X_e319_319, X_f320_320, Y321_321] :  (~! [A_3322_322, B_1323_323, C_6324_324, D_5325_325, E326_326, F_3327_327] :  (~=(ti(product_prod(X_a315_315, product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))))), Y321_321), hAPP(product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))), product_prod(X_a315_315, product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))))), hAPP(X_a315_315, fun(product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))), product_prod(X_a315_315, product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))))), product_Pair(X_a315_315, product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))))), A_3322_322), hAPP(product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))), product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))), hAPP(X_b316_316, fun(product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))), product_prod(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))))), product_Pair(X_b316_316, product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))), B_1323_323), hAPP(product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)), product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))), hAPP(X_c317_317, fun(product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)), product_prod(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)))), product_Pair(X_c317_317, product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))), C_6324_324), hAPP(product_prod(X_e319_319, X_f320_320), product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320)), hAPP(X_d318_318, fun(product_prod(X_e319_319, X_f320_320), product_prod(X_d318_318, product_prod(X_e319_319, X_f320_320))), product_Pair(X_d318_318, product_prod(X_e319_319, X_f320_320)), D_5325_325), hAPP(X_f320_320, product_prod(X_e319_319, X_f320_320), hAPP(X_e319_319, fun(X_f320_320, product_prod(X_e319_319, X_f320_320)), product_Pair(X_e319_319, X_f320_320), E326_326), F_3327_327)))))))), ! [X_a328_328, X_b329_329, X_c330_330, X_d331_331, X_e332_332, X_2333_333, Pa334_334] :  ((! [A_3335_335, B_1336_336, C_6337_337, D_5338_338, E339_339] :  (hBOOL(hAPP(product_prod(X_a328_328, product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)))), bool, Pa334_334, hAPP(product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))), product_prod(X_a328_328, product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)))), hAPP(X_a328_328, fun(product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))), product_prod(X_a328_328, product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))))), product_Pair(X_a328_328, product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)))), A_3335_335), hAPP(product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)), product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))), hAPP(X_b329_329, fun(product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)), product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)))), product_Pair(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))), B_1336_336), hAPP(product_prod(X_d331_331, X_e332_332), product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)), hAPP(X_c330_330, fun(product_prod(X_d331_331, X_e332_332), product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332))), product_Pair(X_c330_330, product_prod(X_d331_331, X_e332_332)), C_6337_337), hAPP(X_e332_332, product_prod(X_d331_331, X_e332_332), hAPP(X_d331_331, fun(X_e332_332, product_prod(X_d331_331, X_e332_332)), product_Pair(X_d331_331, X_e332_332), D_5338_338), E339_339))))))) => hBOOL(hAPP(product_prod(X_a328_328, product_prod(X_b329_329, product_prod(X_c330_330, product_prod(X_d331_331, X_e332_332)))), bool, Pa334_334, X_2333_333)))), ! [X_a340_340, X_b341_341, X_c342_342, X_d343_343, X_e344_344, Y345_345] :  (~! [A_3346_346, B_1347_347, C_6348_348, D_5349_349, E350_350] :  (~=(ti(product_prod(X_a340_340, product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)))), Y345_345), hAPP(product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))), product_prod(X_a340_340, product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)))), hAPP(X_a340_340, fun(product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))), product_prod(X_a340_340, product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))))), product_Pair(X_a340_340, product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)))), A_3346_346), hAPP(product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)), product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))), hAPP(X_b341_341, fun(product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)), product_prod(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)))), product_Pair(X_b341_341, product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))), B_1347_347), hAPP(product_prod(X_d343_343, X_e344_344), product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344)), hAPP(X_c342_342, fun(product_prod(X_d343_343, X_e344_344), product_prod(X_c342_342, product_prod(X_d343_343, X_e344_344))), product_Pair(X_c342_342, product_prod(X_d343_343, X_e344_344)), C_6348_348), hAPP(X_e344_344, product_prod(X_d343_343, X_e344_344), hAPP(X_d343_343, fun(X_e344_344, product_prod(X_d343_343, X_e344_344)), product_Pair(X_d343_343, X_e344_344), D_5349_349), E350_350))))))), ! [X_a351_351, X_b352_352, X_c353_353, X_d354_354, X_2355_355, Pa356_356] :  ((! [A_3357_357, B_1358_358, C_6359_359, D_5360_360] :  (hBOOL(hAPP(product_prod(X_a351_351, product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354))), bool, Pa356_356, hAPP(product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354)), product_prod(X_a351_351, product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354))), hAPP(X_a351_351, fun(product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354)), product_prod(X_a351_351, product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354)))), product_Pair(X_a351_351, product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354))), A_3357_357), hAPP(product_prod(X_c353_353, X_d354_354), product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354)), hAPP(X_b352_352, fun(product_prod(X_c353_353, X_d354_354), product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354))), product_Pair(X_b352_352, product_prod(X_c353_353, X_d354_354)), B_1358_358), hAPP(X_d354_354, product_prod(X_c353_353, X_d354_354), hAPP(X_c353_353, fun(X_d354_354, product_prod(X_c353_353, X_d354_354)), product_Pair(X_c353_353, X_d354_354), C_6359_359), D_5360_360)))))) => hBOOL(hAPP(product_prod(X_a351_351, product_prod(X_b352_352, product_prod(X_c353_353, X_d354_354))), bool, Pa356_356, X_2355_355)))), ! [X_a361_361, X_b362_362, X_c363_363, X_d364_364, Y365_365] :  (~! [A_3366_366, B_1367_367, C_6368_368, D_5369_369] :  (~=(ti(product_prod(X_a361_361, product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364))), Y365_365), hAPP(product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364)), product_prod(X_a361_361, product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364))), hAPP(X_a361_361, fun(product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364)), product_prod(X_a361_361, product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364)))), product_Pair(X_a361_361, product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364))), A_3366_366), hAPP(product_prod(X_c363_363, X_d364_364), product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364)), hAPP(X_b362_362, fun(product_prod(X_c363_363, X_d364_364), product_prod(X_b362_362, product_prod(X_c363_363, X_d364_364))), product_Pair(X_b362_362, product_prod(X_c363_363, X_d364_364)), B_1367_367), hAPP(X_d364_364, product_prod(X_c363_363, X_d364_364), hAPP(X_c363_363, fun(X_d364_364, product_prod(X_c363_363, X_d364_364)), product_Pair(X_c363_363, X_d364_364), C_6368_368), D_5369_369)))))), 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)), typeSa1687304666_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))), ! [X_b370_370, X_a371_371, A_2372_372, B_4373_373, A_1374_374, B_3375_375] :  ((=(hAPP(X_b370_370, product_prod(X_a371_371, X_b370_370), hAPP(X_a371_371, fun(X_b370_370, product_prod(X_a371_371, X_b370_370)), product_Pair(X_a371_371, X_b370_370), A_2372_372), B_4373_373), hAPP(X_b370_370, product_prod(X_a371_371, X_b370_370), hAPP(X_a371_371, fun(X_b370_370, product_prod(X_a371_371, X_b370_370)), product_Pair(X_a371_371, X_b370_370), A_1374_374), B_3375_375)) => ~(=(ti(X_a371_371, A_2372_372), ti(X_a371_371, A_1374_374)) => ~=(ti(X_b370_370, B_4373_373), ti(X_b370_370, B_3375_375))))), ! [X_b376_376, X_a377_377, A_4378_378, B379_379, A_6380_380, B_2381_381] :  ((=(hAPP(X_b376_376, product_prod(X_a377_377, X_b376_376), hAPP(X_a377_377, fun(X_b376_376, product_prod(X_a377_377, X_b376_376)), product_Pair(X_a377_377, X_b376_376), A_4378_378), B379_379), hAPP(X_b376_376, product_prod(X_a377_377, X_b376_376), hAPP(X_a377_377, fun(X_b376_376, product_prod(X_a377_377, X_b376_376)), product_Pair(X_a377_377, X_b376_376), A_6380_380), B_2381_381)) <=> (=(ti(X_a377_377, A_4378_378), ti(X_a377_377, A_6380_380)) & =(ti(X_b376_376, B379_379), ti(X_b376_376, B_2381_381))))), ! [X_a382_382, X_b383_383, Pa384_384] :  ((! [X1385_385] :  (hBOOL(hAPP(product_prod(X_a382_382, X_b383_383), bool, Pa384_384, X1385_385))) <=> ! [A_3386_386, B_1387_387] :  (hBOOL(hAPP(product_prod(X_a382_382, X_b383_383), bool, Pa384_384, hAPP(X_b383_383, product_prod(X_a382_382, X_b383_383), hAPP(X_a382_382, fun(X_b383_383, product_prod(X_a382_382, X_b383_383)), product_Pair(X_a382_382, X_b383_383), A_3386_386), B_1387_387)))))), ! [X_b388_388, X_a389_389, F_2390_390, B391_391, A_4392_392, X_1393_393] :  (((=(ti(X_a389_389, X_1393_393), ti(X_a389_389, A_4392_392)) => =(hAPP(X_a389_389, X_b388_388, hAPP(X_b388_388, fun(X_a389_389, X_b388_388), hAPP(X_a389_389, fun(X_b388_388, fun(X_a389_389, X_b388_388)), hAPP(fun(X_a389_389, X_b388_388), fun(X_a389_389, fun(X_b388_388, fun(X_a389_389, X_b388_388))), fun_upd(X_a389_389, X_b388_388), F_2390_390), A_4392_392), B391_391), X_1393_393), ti(X_b388_388, B391_391))) & (~=(ti(X_a389_389, X_1393_393), ti(X_a389_389, A_4392_392)) => =(hAPP(X_a389_389, X_b388_388, hAPP(X_b388_388, fun(X_a389_389, X_b388_388), hAPP(X_a389_389, fun(X_b388_388, fun(X_a389_389, X_b388_388)), hAPP(fun(X_a389_389, X_b388_388), fun(X_a389_389, fun(X_b388_388, fun(X_a389_389, X_b388_388))), fun_upd(X_a389_389, X_b388_388), F_2390_390), A_4392_392), B391_391), X_1393_393), hAPP(X_a389_389, X_b388_388, F_2390_390, X_1393_393))))), ! [X_b394_394, X_a395_395, F_2396_396, X_2397_397, Y_1398_398] :  ((=(hAPP(X_b394_394, X_a395_395, F_2396_396, X_2397_397), ti(X_a395_395, Y_1398_398)) => =(hAPP(X_a395_395, fun(X_b394_394, X_a395_395), hAPP(X_b394_394, fun(X_a395_395, fun(X_b394_394, X_a395_395)), hAPP(fun(X_b394_394, X_a395_395), fun(X_b394_394, fun(X_a395_395, fun(X_b394_394, X_a395_395))), fun_upd(X_b394_394, X_a395_395), F_2396_396), X_2397_397), Y_1398_398), ti(fun(X_b394_394, X_a395_395), F_2396_396)))), ! [X_b399_399, X_a400_400, F_2401_401, Y_1402_402, Z403_403, X_2404_404] :  ((~=(ti(X_a400_400, Z403_403), ti(X_a400_400, X_2404_404)) => =(hAPP(X_a400_400, X_b399_399, hAPP(X_b399_399, fun(X_a400_400, X_b399_399), hAPP(X_a400_400, fun(X_b399_399, fun(X_a400_400, X_b399_399)), hAPP(fun(X_a400_400, X_b399_399), fun(X_a400_400, fun(X_b399_399, fun(X_a400_400, X_b399_399))), fun_upd(X_a400_400, X_b399_399), F_2401_401), X_2404_404), Y_1402_402), Z403_403), hAPP(X_a400_400, X_b399_399, F_2401_401, Z403_403)))), ! [X_b405_405, X_a406_406, M407_407, B408_408, D_4409_409, A_4410_410, C411_411] :  ((~=(ti(X_a406_406, A_4410_410), ti(X_a406_406, C411_411)) => =(hAPP(X_b405_405, fun(X_a406_406, X_b405_405), hAPP(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405)), hAPP(fun(X_a406_406, X_b405_405), fun(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405))), fun_upd(X_a406_406, X_b405_405), hAPP(X_b405_405, fun(X_a406_406, X_b405_405), hAPP(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405)), hAPP(fun(X_a406_406, X_b405_405), fun(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405))), fun_upd(X_a406_406, X_b405_405), M407_407), A_4410_410), B408_408)), C411_411), D_4409_409), hAPP(X_b405_405, fun(X_a406_406, X_b405_405), hAPP(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405)), hAPP(fun(X_a406_406, X_b405_405), fun(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405))), fun_upd(X_a406_406, X_b405_405), hAPP(X_b405_405, fun(X_a406_406, X_b405_405), hAPP(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405)), hAPP(fun(X_a406_406, X_b405_405), fun(X_a406_406, fun(X_b405_405, fun(X_a406_406, X_b405_405))), fun_upd(X_a406_406, X_b405_405), M407_407), C411_411), D_4409_409)), A_4410_410), B408_408)))), ! [X_b412_412, X_a413_413, F_2414_414, Y_1415_415, Z416_416, X_2417_417] :  (((=(ti(X_a413_413, Z416_416), ti(X_a413_413, X_2417_417)) => =(hAPP(X_a413_413, X_b412_412, hAPP(X_b412_412, fun(X_a413_413, X_b412_412), hAPP(X_a413_413, fun(X_b412_412, fun(X_a413_413, X_b412_412)), hAPP(fun(X_a413_413, X_b412_412), fun(X_a413_413, fun(X_b412_412, fun(X_a413_413, X_b412_412))), fun_upd(X_a413_413, X_b412_412), F_2414_414), X_2417_417), Y_1415_415), Z416_416), ti(X_b412_412, Y_1415_415))) & (~=(ti(X_a413_413, Z416_416), ti(X_a413_413, X_2417_417)) => =(hAPP(X_a413_413, X_b412_412, hAPP(X_b412_412, fun(X_a413_413, X_b412_412), hAPP(X_a413_413, fun(X_b412_412, fun(X_a413_413, X_b412_412)), hAPP(fun(X_a413_413, X_b412_412), fun(X_a413_413, fun(X_b412_412, fun(X_a413_413, X_b412_412))), fun_upd(X_a413_413, X_b412_412), F_2414_414), X_2417_417), Y_1415_415), Z416_416), hAPP(X_a413_413, X_b412_412, F_2414_414, Z416_416))))), ! [X_b418_418, X_a419_419, F_2420_420, X_2421_421, Y_1422_422] :  (=(hAPP(X_b418_418, X_a419_419, hAPP(X_a419_419, fun(X_b418_418, X_a419_419), hAPP(X_b418_418, fun(X_a419_419, fun(X_b418_418, X_a419_419)), hAPP(fun(X_b418_418, X_a419_419), fun(X_b418_418, fun(X_a419_419, fun(X_b418_418, X_a419_419))), fun_upd(X_b418_418, X_a419_419), F_2420_420), X_2421_421), Y_1422_422), X_2421_421), ti(X_a419_419, Y_1422_422))), ! [X_b423_423, X_a424_424, F_2425_425, X_2426_426, Y_1427_427, Z428_428] :  (=(hAPP(X_b423_423, fun(X_a424_424, X_b423_423), hAPP(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423)), hAPP(fun(X_a424_424, X_b423_423), fun(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423))), fun_upd(X_a424_424, X_b423_423), hAPP(X_b423_423, fun(X_a424_424, X_b423_423), hAPP(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423)), hAPP(fun(X_a424_424, X_b423_423), fun(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423))), fun_upd(X_a424_424, X_b423_423), F_2425_425), X_2426_426), Y_1427_427)), X_2426_426), Z428_428), hAPP(X_b423_423, fun(X_a424_424, X_b423_423), hAPP(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423)), hAPP(fun(X_a424_424, X_b423_423), fun(X_a424_424, fun(X_b423_423, fun(X_a424_424, X_b423_423))), fun_upd(X_a424_424, X_b423_423), F_2425_425), X_2426_426), Z428_428))), ! [X_b429_429, X_a430_430, F_2431_431, X_2432_432, Y_1433_433] :  ((=(hAPP(X_b429_429, fun(X_a430_430, X_b429_429), hAPP(X_a430_430, fun(X_b429_429, fun(X_a430_430, X_b429_429)), hAPP(fun(X_a430_430, X_b429_429), fun(X_a430_430, fun(X_b429_429, fun(X_a430_430, X_b429_429))), fun_upd(X_a430_430, X_b429_429), F_2431_431), X_2432_432), Y_1433_433), ti(fun(X_a430_430, X_b429_429), F_2431_431)) <=> =(hAPP(X_a430_430, X_b429_429, F_2431_431, X_2432_432), ti(X_b429_429, Y_1433_433)))), ! [X_m434_434, P435_435, T_2436_436] :  (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, X_m434_434)))))))), fun(ty, fun(ty, bool)), widen(X_m434_434), P435_435), T_2436_436), T_2436_436))), ! [Ea437_437, Ta438_438, Eb439_439, Hb440_440, Lb441_441, E_b442_442, H_b443_443, L_b444_444, Pa445_445] :  ((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)))), Eb439_439), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb440_440), Lb441_441))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b442_442), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b443_443), L_b444_444)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa445_445))) => (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, Pa445_445), Hb440_440), Ea437_437), Eb439_439), Ta438_438)) => (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)))), Pa445_445), Hb440_440)) => 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)))), Pa445_445), H_b443_443)))))), ! [Ea446_446, Ta447_447, Eb448_448, Hb449_449, Lb450_450, E_b451_451, H_b452_452, L_b453_453, Pa454_454] :  ((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)))), Eb448_448), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb449_449), Lb450_450))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b451_451), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b452_452), L_b453_453)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa454_454))) => (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, Pa454_454), Hb449_449), Ea446_446), Eb448_448), Ta447_447)) => (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)))), Pa454_454), Hb449_449), Lb450_450), Ea446_446)) => 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)))), Pa454_454), H_b452_452), L_b453_453), Ea446_446)))))), ! [X_a455_455, X_b456_456, X_c457_457, Y458_458] :  (~! [A_3459_459, B_1460_460, C_6461_461] :  (~=(ti(product_prod(X_a455_455, product_prod(X_b456_456, X_c457_457)), Y458_458), hAPP(product_prod(X_b456_456, X_c457_457), product_prod(X_a455_455, product_prod(X_b456_456, X_c457_457)), hAPP(X_a455_455, fun(product_prod(X_b456_456, X_c457_457), product_prod(X_a455_455, product_prod(X_b456_456, X_c457_457))), product_Pair(X_a455_455, product_prod(X_b456_456, X_c457_457)), A_3459_459), hAPP(X_c457_457, product_prod(X_b456_456, X_c457_457), hAPP(X_b456_456, fun(X_c457_457, product_prod(X_b456_456, X_c457_457)), product_Pair(X_b456_456, X_c457_457), B_1460_460), C_6461_461))))), ! [X_a462_462, X_b463_463, X_c464_464, X_2465_465, Pa466_466] :  ((! [A_3467_467, B_1468_468, C_6469_469] :  (hBOOL(hAPP(product_prod(X_a462_462, product_prod(X_b463_463, X_c464_464)), bool, Pa466_466, hAPP(product_prod(X_b463_463, X_c464_464), product_prod(X_a462_462, product_prod(X_b463_463, X_c464_464)), hAPP(X_a462_462, fun(product_prod(X_b463_463, X_c464_464), product_prod(X_a462_462, product_prod(X_b463_463, X_c464_464))), product_Pair(X_a462_462, product_prod(X_b463_463, X_c464_464)), A_3467_467), hAPP(X_c464_464, product_prod(X_b463_463, X_c464_464), hAPP(X_b463_463, fun(X_c464_464, product_prod(X_b463_463, X_c464_464)), product_Pair(X_b463_463, X_c464_464), B_1468_468), C_6469_469))))) => hBOOL(hAPP(product_prod(X_a462_462, product_prod(X_b463_463, X_c464_464)), bool, Pa466_466, X_2465_465)))), ! [Ea470_470, Ta471_471, Eb472_472, S_2473_473, E_b474_474, S475_475, Pa476_476] :  ((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)))), Eb472_472), S_2473_473)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b474_474), S475_475))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa476_476))) => (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, Pa476_476), 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, S_2473_473)), Ea470_470), Eb472_472), Ta471_471)) => (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)), typeSa1687304666_sconf, Pa476_476), Ea470_470), S_2473_473)) => 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)), typeSa1687304666_sconf, Pa476_476), Ea470_470), S475_475)))))), ! [X_b477_477, X_c478_478, X_a479_479, F1480_480, A_4481_481, B482_482] :  (=(hAPP(product_prod(X_b477_477, X_c478_478), X_a479_479, hAPP(fun(X_b477_477, fun(X_c478_478, X_a479_479)), fun(product_prod(X_b477_477, X_c478_478), X_a479_479), product_prod_rec(X_b477_477, X_c478_478, X_a479_479), F1480_480), hAPP(X_c478_478, product_prod(X_b477_477, X_c478_478), hAPP(X_b477_477, fun(X_c478_478, product_prod(X_b477_477, X_c478_478)), product_Pair(X_b477_477, X_c478_478), A_4481_481), B482_482)), hAPP(X_c478_478, X_a479_479, hAPP(X_b477_477, fun(X_c478_478, X_a479_479), F1480_480, A_4481_481), B482_482))), ! [X_a483_483, X_b484_484, S_6485_485, R_2486_486] :  ((! [X_1487_487, Xa488_488] :  ((hBOOL(hAPP(fun(product_prod(X_a483_483, X_b484_484), bool), bool, hAPP(product_prod(X_a483_483, X_b484_484), fun(fun(product_prod(X_a483_483, X_b484_484), bool), bool), member(product_prod(X_a483_483, X_b484_484)), hAPP(X_b484_484, product_prod(X_a483_483, X_b484_484), hAPP(X_a483_483, fun(X_b484_484, product_prod(X_a483_483, X_b484_484)), product_Pair(X_a483_483, X_b484_484), X_1487_487), Xa488_488)), R_2486_486)) <=> hBOOL(hAPP(fun(product_prod(X_a483_483, X_b484_484), bool), bool, hAPP(product_prod(X_a483_483, X_b484_484), fun(fun(product_prod(X_a483_483, X_b484_484), bool), bool), member(product_prod(X_a483_483, X_b484_484)), hAPP(X_b484_484, product_prod(X_a483_483, X_b484_484), hAPP(X_a483_483, fun(X_b484_484, product_prod(X_a483_483, X_b484_484)), product_Pair(X_a483_483, X_b484_484), X_1487_487), Xa488_488)), S_6485_485)))) <=> =(ti(fun(product_prod(X_a483_483, X_b484_484), bool), R_2486_486), ti(fun(product_prod(X_a483_483, X_b484_484), bool), S_6485_485)))), ! [X_a489_489, X_b490_490, Y491_491] :  (~! [A_3492_492, B_1493_493] :  (~=(ti(product_prod(X_a489_489, X_b490_490), Y491_491), hAPP(X_b490_490, product_prod(X_a489_489, X_b490_490), hAPP(X_a489_489, fun(X_b490_490, product_prod(X_a489_489, X_b490_490)), product_Pair(X_a489_489, X_b490_490), A_3492_492), B_1493_493)))), ! [X_a494_494, X_b495_495, P_2496_496] :  (~! [X_1497_497, Y_2498_498] :  (~=(ti(product_prod(X_a494_494, X_b495_495), P_2496_496), hAPP(X_b495_495, product_prod(X_a494_494, X_b495_495), hAPP(X_a494_494, fun(X_b495_495, product_prod(X_a494_494, X_b495_495)), product_Pair(X_a494_494, X_b495_495), X_1497_497), Y_2498_498)))), ! [X_a499_499, X_b500_500, Pa501_501] :  ((? [X1502_502] :  (hBOOL(hAPP(product_prod(X_a499_499, X_b500_500), bool, Pa501_501, X1502_502))) <=> ? [A_3503_503, B_1504_504] :  (hBOOL(hAPP(product_prod(X_a499_499, X_b500_500), bool, Pa501_501, hAPP(X_b500_500, product_prod(X_a499_499, X_b500_500), hAPP(X_a499_499, fun(X_b500_500, product_prod(X_a499_499, X_b500_500)), product_Pair(X_a499_499, X_b500_500), A_3503_503), B_1504_504)))))), ! [X_a505_505, T_2506_506, P507_507, S_5508_508, U_1509_509] :  ((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, X_a505_505)))))))), fun(ty, fun(ty, bool)), widen(X_a505_505), P507_507), S_5508_508), U_1509_509)) => (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, X_a505_505)))))))), fun(ty, fun(ty, bool)), widen(X_a505_505), P507_507), U_1509_509), T_2506_506)) => 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, X_a505_505)))))))), fun(ty, fun(ty, bool)), widen(X_a505_505), P507_507), S_5508_508), T_2506_506))))), 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)), ! [X_b510_510, X_c511_511, X_a512_512, C513_513, A_4514_514, B515_515] :  (=(hAPP(product_prod(X_b510_510, X_c511_511), X_a512_512, hAPP(fun(X_b510_510, fun(X_c511_511, X_a512_512)), fun(product_prod(X_b510_510, X_c511_511), X_a512_512), produc1605651328_split(X_b510_510, X_c511_511, X_a512_512), C513_513), hAPP(X_c511_511, product_prod(X_b510_510, X_c511_511), hAPP(X_b510_510, fun(X_c511_511, product_prod(X_b510_510, X_c511_511)), product_Pair(X_b510_510, X_c511_511), A_4514_514), B515_515)), hAPP(X_c511_511, X_a512_512, hAPP(X_b510_510, fun(X_c511_511, X_a512_512), C513_513, A_4514_514), B515_515))), ! [Pa516_516, Ea517_517, S_2518_518] :  ((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)), typeSa1687304666_sconf, Pa516_516), Ea517_517), S_2518_518)) <=> 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)))), Pa516_516)))), 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)))), Pa516_516))), Ea517_517))), S_2518_518)))), ! [Eb519_519, Hb520_520, Lb521_521, E_b522_522, H_b523_523, L_b524_524, Pa525_525] :  ((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)))), Eb519_519), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb520_520), Lb521_521))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b522_522), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b523_523), L_b524_524)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa525_525))) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb520_520), H_b523_523)))), ! [X_b526_526, X_c527_527, X_a528_528, X_1529_529, Xa530_530, Xb_1531_531] :  (=(hAPP(X_b526_526, X_c527_527, hAPP(X_a528_528, fun(X_b526_526, X_c527_527), hAPP(fun(product_prod(X_a528_528, X_b526_526), X_c527_527), fun(X_a528_528, fun(X_b526_526, X_c527_527)), product_curry(X_a528_528, X_b526_526, X_c527_527), X_1529_529), Xa530_530), Xb_1531_531), hAPP(product_prod(X_a528_528, X_b526_526), X_c527_527, X_1529_529, hAPP(X_b526_526, product_prod(X_a528_528, X_b526_526), hAPP(X_a528_528, fun(X_b526_526, product_prod(X_a528_528, X_b526_526)), product_Pair(X_a528_528, X_b526_526), Xa530_530), Xb_1531_531)))), ! [Eb532_532, Hb533_533, Lb534_534, E_b535_535, H_b536_536, L_b537_537, Pa538_538] :  ((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), Pa538_538)) => (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)))), Eb532_532), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb533_533), Lb534_534))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b535_535), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b536_536), L_b537_537)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa538_538))) => (hBOOL(hAPP(option(fun(list(char), bool)), bool, hAPP(exp(list(char)), fun(option(fun(list(char), bool)), bool), d(list(char)), Eb532_532), hAPP(fun(list(char), bool), option(fun(list(char), bool)), some(fun(list(char), bool)), hAPP(fun(list(char), option(val)), fun(list(char), bool), dom(list(char), val), Lb534_534)))) => hBOOL(hAPP(option(fun(list(char), bool)), bool, hAPP(exp(list(char)), fun(option(fun(list(char), bool)), bool), d(list(char)), E_b535_535), hAPP(fun(list(char), bool), option(fun(list(char), bool)), some(fun(list(char), bool)), hAPP(fun(list(char), option(val)), fun(list(char), bool), dom(list(char), val), L_b537_537)))))))), ! [X_a539_539, A_4540_540, A_6541_541] :  ((=(hAPP(X_a539_539, option(X_a539_539), some(X_a539_539), A_4540_540), hAPP(X_a539_539, option(X_a539_539), some(X_a539_539), A_6541_541)) <=> =(ti(X_a539_539, A_4540_540), ti(X_a539_539, A_6541_541)))), ! [X_a542_542, X_b543_543, F_2544_544, A_4545_545, B546_546] :  ((hBOOL(hAPP(product_prod(X_a542_542, X_b543_543), bool, F_2544_544, hAPP(X_b543_543, product_prod(X_a542_542, X_b543_543), hAPP(X_a542_542, fun(X_b543_543, product_prod(X_a542_542, X_b543_543)), product_Pair(X_a542_542, X_b543_543), A_4545_545), B546_546))) => hBOOL(hAPP(X_b543_543, bool, hAPP(X_a542_542, fun(X_b543_543, bool), hAPP(fun(product_prod(X_a542_542, X_b543_543), bool), fun(X_a542_542, fun(X_b543_543, bool)), product_curry(X_a542_542, X_b543_543, bool), F_2544_544), A_4545_545), B546_546)))), ! [L_0_1547_547, Eb548_548, Hb549_549, Lb550_550, E_b551_551, H_b552_552, L_b553_553, Pa554_554] :  ((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)))), Eb548_548), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb549_549), Lb550_550))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b551_551), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b552_552), L_b553_553)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa554_554))) => 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)))), Eb548_548), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb549_549), hAPP(fun(list(char), option(val)), fun(list(char), option(val)), hAPP(fun(list(char), option(val)), fun(fun(list(char), option(val)), fun(list(char), option(val))), map_add(list(char), val), L_0_1547_547), Lb550_550)))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b551_551), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b552_552), hAPP(fun(list(char), option(val)), fun(list(char), option(val)), hAPP(fun(list(char), option(val)), fun(fun(list(char), option(val)), fun(list(char), option(val))), map_add(list(char), val), L_0_1547_547), L_b553_553))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa554_554))))), ! [X_a555_555, Va_1556_556, Va557_557, Ta558_558, Pa559_559, Hb560_560, Lb561_561, Ea562_562] :  ((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, X_a555_555)))))))), 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(X_a555_555), Pa559_559), Hb560_560), Lb561_561), Ea562_562)) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a555_555)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a555_555), Pa559_559), Hb560_560), Va557_557), Ta558_558)) => (=(hAPP(list(char), option(ty), Ea562_562, Va_1556_556), hAPP(ty, option(ty), some(ty), Ta558_558)) => 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, X_a555_555)))))))), 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(X_a555_555), Pa559_559), Hb560_560), 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)), Lb561_561), Va_1556_556), hAPP(val, option(val), some(val), Va557_557))), Ea562_562)))))), ! [X_b563_563, X_a564_564, F1565_565, A_4566_566, B567_567] :  ((hBOOL(hAPP(X_b563_563, bool, hAPP(X_a564_564, fun(X_b563_563, bool), F1565_565, A_4566_566), B567_567)) => hBOOL(hAPP(product_prod(X_a564_564, X_b563_563), bool, hAPP(fun(X_a564_564, fun(X_b563_563, bool)), fun(product_prod(X_a564_564, X_b563_563), bool), product_prod_case(X_a564_564, X_b563_563, bool), F1565_565), hAPP(X_b563_563, product_prod(X_a564_564, X_b563_563), hAPP(X_a564_564, fun(X_b563_563, product_prod(X_a564_564, X_b563_563)), product_Pair(X_a564_564, X_b563_563), A_4566_566), B567_567))))), ! [X_b568_568, X_a569_569, F_2570_570, A_4571_571, B572_572] :  ((hBOOL(hAPP(X_b568_568, bool, hAPP(X_a569_569, fun(X_b568_568, bool), F_2570_570, A_4571_571), B572_572)) => hBOOL(hAPP(product_prod(X_a569_569, X_b568_568), bool, hAPP(fun(X_a569_569, fun(X_b568_568, bool)), fun(product_prod(X_a569_569, X_b568_568), bool), product_prod_case(X_a569_569, X_b568_568, bool), F_2570_570), hAPP(X_b568_568, product_prod(X_a569_569, X_b568_568), hAPP(X_a569_569, fun(X_b568_568, product_prod(X_a569_569, X_b568_568)), product_Pair(X_a569_569, X_b568_568), A_4571_571), B572_572))))), ! [X_a573_573, Pa574_574, Va575_575, Ta576_576, Hb577_577, H_b578_578] :  ((hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb577_577), H_b578_578)) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a573_573)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a573_573), Pa574_574), Hb577_577), Va575_575), Ta576_576)) => hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a573_573)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a573_573), Pa574_574), H_b578_578), Va575_575), Ta576_576))))), ! [X_a579_579, Pa580_580, Fs_2581_581, X_2582_582, Ta583_583, Hb584_584, A_4585_585, C_1586_586, Fs_1587_587] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb584_584, A_4585_585), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1586_586), Fs_1587_587))) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a579_579)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a579_579), Pa580_580), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb584_584), A_4585_585), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1586_586), Fs_2581_581)))), X_2582_582), Ta583_583)) <=> hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a579_579)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a579_579), Pa580_580), Hb584_584), X_2582_582), Ta583_583))))), ! [X_a588_588, X_b589_589, L1590_590, M591_591, L2592_592] :  ((hBOOL(hAPP(fun(X_a588_588, bool), bool, hAPP(X_a588_588, fun(fun(X_a588_588, bool), bool), member(X_a588_588), M591_591), hAPP(fun(X_a588_588, option(X_b589_589)), fun(X_a588_588, bool), dom(X_a588_588, X_b589_589), L2592_592))) => =(hAPP(X_a588_588, option(X_b589_589), hAPP(fun(X_a588_588, option(X_b589_589)), fun(X_a588_588, option(X_b589_589)), hAPP(fun(X_a588_588, option(X_b589_589)), fun(fun(X_a588_588, option(X_b589_589)), fun(X_a588_588, option(X_b589_589))), map_add(X_a588_588, X_b589_589), L1590_590), L2592_592), M591_591), hAPP(X_a588_588, option(X_b589_589), L2592_592, M591_591)))), ! [X_c593_593, X_a594_594, X_b595_595, C596_596, P_1597_597, Q_2598_598] :  ((=(ti(product_prod(X_a594_594, X_b595_595), P_1597_597), ti(product_prod(X_a594_594, X_b595_595), Q_2598_598)) => =(hAPP(product_prod(X_a594_594, X_b595_595), X_c593_593, hAPP(fun(X_a594_594, fun(X_b595_595, X_c593_593)), fun(product_prod(X_a594_594, X_b595_595), X_c593_593), product_prod_case(X_a594_594, X_b595_595, X_c593_593), C596_596), P_1597_597), hAPP(product_prod(X_a594_594, X_b595_595), X_c593_593, hAPP(fun(X_a594_594, fun(X_b595_595, X_c593_593)), fun(product_prod(X_a594_594, X_b595_595), X_c593_593), product_prod_case(X_a594_594, X_b595_595, X_c593_593), C596_596), Q_2598_598)))), ! [X_a599_599, X_b600_600, L1601_601, M602_602, L2603_603] :  ((~hBOOL(hAPP(fun(X_a599_599, bool), bool, hAPP(X_a599_599, fun(fun(X_a599_599, bool), bool), member(X_a599_599), M602_602), hAPP(fun(X_a599_599, option(X_b600_600)), fun(X_a599_599, bool), dom(X_a599_599, X_b600_600), L2603_603))) => =(hAPP(X_a599_599, option(X_b600_600), hAPP(fun(X_a599_599, option(X_b600_600)), fun(X_a599_599, option(X_b600_600)), hAPP(fun(X_a599_599, option(X_b600_600)), fun(fun(X_a599_599, option(X_b600_600)), fun(X_a599_599, option(X_b600_600))), map_add(X_a599_599, X_b600_600), L1601_601), L2603_603), M602_602), hAPP(X_a599_599, option(X_b600_600), L1601_601, M602_602)))), ! [X_a604_604, X_b605_605, L2606_606, M607_607, L1608_608] :  ((~hBOOL(hAPP(fun(X_a604_604, bool), bool, hAPP(X_a604_604, fun(fun(X_a604_604, bool), bool), member(X_a604_604), M607_607), hAPP(fun(X_a604_604, option(X_b605_605)), fun(X_a604_604, bool), dom(X_a604_604, X_b605_605), L1608_608))) => =(hAPP(X_a604_604, option(X_b605_605), hAPP(fun(X_a604_604, option(X_b605_605)), fun(X_a604_604, option(X_b605_605)), hAPP(fun(X_a604_604, option(X_b605_605)), fun(fun(X_a604_604, option(X_b605_605)), fun(X_a604_604, option(X_b605_605))), map_add(X_a604_604, X_b605_605), L1608_608), L2606_606), M607_607), hAPP(X_a604_604, option(X_b605_605), L2606_606, M607_607)))), ! [X_a609_609, X_b610_610, X_c611_611] :  (=(produc1605651328_split(X_a609_609, X_b610_610, X_c611_611), product_prod_case(X_a609_609, X_b610_610, X_c611_611))), ! [X_a612_612, X_b613_613, M1614_614, M2615_615, M3616_616] :  (=(hAPP(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613)), hAPP(fun(X_a612_612, option(X_b613_613)), fun(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613))), map_add(X_a612_612, X_b613_613), M1614_614), hAPP(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613)), hAPP(fun(X_a612_612, option(X_b613_613)), fun(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613))), map_add(X_a612_612, X_b613_613), M2615_615), M3616_616)), hAPP(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613)), hAPP(fun(X_a612_612, option(X_b613_613)), fun(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613))), map_add(X_a612_612, X_b613_613), hAPP(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613)), hAPP(fun(X_a612_612, option(X_b613_613)), fun(fun(X_a612_612, option(X_b613_613)), fun(X_a612_612, option(X_b613_613))), map_add(X_a612_612, X_b613_613), M1614_614), M2615_615)), M3616_616))), ! [X_b617_617, X_c618_618, X_a619_619, X_d620_620, X_e621_621, F_2622_622, G623_623, P_1624_624] :  (=(hAPP(product_prod(X_b617_617, X_c618_618), X_a619_619, hAPP(fun(X_b617_617, fun(X_c618_618, X_a619_619)), fun(product_prod(X_b617_617, X_c618_618), X_a619_619), product_prod_case(X_b617_617, X_c618_618, X_a619_619), F_2622_622), hAPP(product_prod(X_d620_620, X_e621_621), product_prod(X_b617_617, X_c618_618), hAPP(fun(X_d620_620, fun(X_e621_621, product_prod(X_b617_617, X_c618_618))), fun(product_prod(X_d620_620, X_e621_621), product_prod(X_b617_617, X_c618_618)), product_prod_case(X_d620_620, X_e621_621, product_prod(X_b617_617, X_c618_618)), G623_623), P_1624_624)), hAPP(product_prod(X_d620_620, X_e621_621), X_a619_619, hAPP(fun(X_d620_620, fun(X_e621_621, X_a619_619)), fun(product_prod(X_d620_620, X_e621_621), X_a619_619), product_prod_case(X_d620_620, X_e621_621, X_a619_619), hAPP(fun(X_d620_620, fun(X_e621_621, product_prod(X_b617_617, X_c618_618))), fun(X_d620_620, fun(X_e621_621, X_a619_619)), hAPP(fun(fun(X_e621_621, product_prod(X_b617_617, X_c618_618)), fun(X_e621_621, X_a619_619)), fun(fun(X_d620_620, fun(X_e621_621, product_prod(X_b617_617, X_c618_618))), fun(X_d620_620, fun(X_e621_621, X_a619_619))), combb(fun(X_e621_621, product_prod(X_b617_617, X_c618_618)), fun(X_e621_621, X_a619_619), X_d620_620), hAPP(fun(product_prod(X_b617_617, X_c618_618), X_a619_619), fun(fun(X_e621_621, product_prod(X_b617_617, X_c618_618)), fun(X_e621_621, X_a619_619)), combb(product_prod(X_b617_617, X_c618_618), X_a619_619, X_e621_621), hAPP(fun(X_b617_617, fun(X_c618_618, X_a619_619)), fun(product_prod(X_b617_617, X_c618_618), X_a619_619), product_prod_case(X_b617_617, X_c618_618, X_a619_619), F_2622_622))), G623_623)), P_1624_624))), ! [X_a625_625, X_b626_626, X_c627_627, F_2628_628] :  (=(hAPP(fun(X_a625_625, fun(X_b626_626, X_c627_627)), fun(product_prod(X_a625_625, X_b626_626), X_c627_627), product_prod_case(X_a625_625, X_b626_626, X_c627_627), hAPP(fun(product_prod(X_a625_625, X_b626_626), X_c627_627), fun(X_a625_625, fun(X_b626_626, X_c627_627)), product_curry(X_a625_625, X_b626_626, X_c627_627), F_2628_628)), ti(fun(product_prod(X_a625_625, X_b626_626), X_c627_627), F_2628_628))), ! [X_a629_629, X_b630_630, X_c631_631, F_2632_632] :  (=(hAPP(fun(product_prod(X_a629_629, X_b630_630), X_c631_631), fun(X_a629_629, fun(X_b630_630, X_c631_631)), product_curry(X_a629_629, X_b630_630, X_c631_631), hAPP(fun(X_a629_629, fun(X_b630_630, X_c631_631)), fun(product_prod(X_a629_629, X_b630_630), X_c631_631), product_prod_case(X_a629_629, X_b630_630, X_c631_631), F_2632_632)), ti(fun(X_a629_629, fun(X_b630_630, X_c631_631)), F_2632_632))), ! [Va_1638_638, Ta639_639, Va640_640, U641_641, S_2642_642, Pa643_643] :  (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)), Va_1638_638), Ta639_639), 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)), Va_1638_638), hAPP(val, exp(list(char)), val_1(list(char)), Va640_640))), hAPP(val, exp(list(char)), val_1(list(char)), U641_641)))), S_2642_642)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), U641_641)), S_2642_642))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa643_643)))), ! [X_a644_644, T_a645_645, Pa646_646, Hb647_647, Va648_648, Ta649_649] :  ((hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a644_644)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a644_644), Pa646_646), Hb647_647), Va648_648), Ta649_649)) => (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, X_a644_644)))))))), fun(ty, fun(ty, bool)), widen(X_a644_644), Pa646_646), Ta649_649), T_a645_645)) => hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a644_644)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a644_644), Pa646_646), Hb647_647), Va648_648), T_a645_645))))), ! [X_a650_650, X_b651_651, F_2652_652, A_4653_653, B654_654] :  ((hBOOL(hAPP(product_prod(X_a650_650, X_b651_651), bool, hAPP(fun(X_a650_650, fun(X_b651_651, bool)), fun(product_prod(X_a650_650, X_b651_651), bool), product_prod_case(X_a650_650, X_b651_651, bool), F_2652_652), hAPP(X_b651_651, product_prod(X_a650_650, X_b651_651), hAPP(X_a650_650, fun(X_b651_651, product_prod(X_a650_650, X_b651_651)), product_Pair(X_a650_650, X_b651_651), A_4653_653), B654_654))) => hBOOL(hAPP(X_b651_651, bool, hAPP(X_a650_650, fun(X_b651_651, bool), F_2652_652, A_4653_653), B654_654)))), ! [X_a655_655, H_b656_656, Pa657_657, Hb658_658, Lb659_659, Ea660_660] :  ((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, X_a655_655)))))))), 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(X_a655_655), Pa657_657), Hb658_658), Lb659_659), Ea660_660)) => (hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb658_658), H_b656_656)) => 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, X_a655_655)))))))), 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(X_a655_655), Pa657_657), H_b656_656), Lb659_659), Ea660_660))))), ! [Va661_661, E_2662_662, S_2663_663, Pa664_664] :  (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)), Va661_661)), E_2662_662)), S_2663_663)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_2662_662), S_2663_663))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa664_664)))), ! [X_a665_665, X_b666_666, E1667_667, U1668_668, M669_669, E2670_670] :  ((~hBOOL(hAPP(fun(X_a665_665, bool), bool, hAPP(X_a665_665, fun(fun(X_a665_665, bool), bool), member(X_a665_665), M669_669), hAPP(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, bool), dom(X_a665_665, X_b666_666), E2670_670))) => =(hAPP(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, option(X_b666_666)), hAPP(fun(X_a665_665, option(X_b666_666)), fun(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, option(X_b666_666))), map_add(X_a665_665, X_b666_666), hAPP(option(X_b666_666), fun(X_a665_665, option(X_b666_666)), hAPP(X_a665_665, fun(option(X_b666_666), fun(X_a665_665, option(X_b666_666))), hAPP(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, fun(option(X_b666_666), fun(X_a665_665, option(X_b666_666)))), fun_upd(X_a665_665, option(X_b666_666)), E1667_667), M669_669), hAPP(X_b666_666, option(X_b666_666), some(X_b666_666), U1668_668))), E2670_670), hAPP(option(X_b666_666), fun(X_a665_665, option(X_b666_666)), hAPP(X_a665_665, fun(option(X_b666_666), fun(X_a665_665, option(X_b666_666))), hAPP(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, fun(option(X_b666_666), fun(X_a665_665, option(X_b666_666)))), fun_upd(X_a665_665, option(X_b666_666)), hAPP(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, option(X_b666_666)), hAPP(fun(X_a665_665, option(X_b666_666)), fun(fun(X_a665_665, option(X_b666_666)), fun(X_a665_665, option(X_b666_666))), map_add(X_a665_665, X_b666_666), E1667_667), E2670_670)), M669_669), hAPP(X_b666_666, option(X_b666_666), some(X_b666_666), U1668_668))))), ! [Va_1671_671, Ta672_672, U673_673, S_2674_674, Pa675_675] :  (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)), Va_1671_671), Ta672_672), hAPP(val, exp(list(char)), val_1(list(char)), U673_673))), S_2674_674)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), U673_673)), S_2674_674))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa675_675)))), ! [X_b676_676, X_a677_677, M678_678, A_4679_679, B680_680] :  ((=(hAPP(X_b676_676, option(X_a677_677), M678_678, A_4679_679), hAPP(X_a677_677, option(X_a677_677), some(X_a677_677), B680_680)) => hBOOL(hAPP(fun(X_b676_676, bool), bool, hAPP(X_b676_676, fun(fun(X_b676_676, bool), bool), member(X_b676_676), A_4679_679), hAPP(fun(X_b676_676, option(X_a677_677)), fun(X_b676_676, bool), dom(X_b676_676, X_a677_677), M678_678))))), ! [Ta681_681, V_a682_682, Eb683_683, Hb684_684, Lb685_685, Va_1686_686, Va687_687, E_b688_688, H_b689_689, L_b690_690, Pa691_691] :  ((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)))), Eb683_683), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb684_684), 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)), Lb685_685), Va_1686_686), hAPP(val, option(val), some(val), Va687_687))))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b688_688), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b689_689), L_b690_690)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa691_691))) => (=(hAPP(list(char), option(val), L_b690_690, Va_1686_686), hAPP(val, option(val), some(val), V_a682_682)) => 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)), Va_1686_686), Ta681_681), 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)), Va_1686_686), hAPP(val, exp(list(char)), val_1(list(char)), Va687_687))), Eb683_683))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb684_684), Lb685_685))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_1686_686), Ta681_681), 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)), Va_1686_686), hAPP(val, exp(list(char)), val_1(list(char)), V_a682_682))), E_b688_688))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b689_689), 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)), L_b690_690), Va_1686_686), hAPP(list(char), option(val), Lb685_685, Va_1686_686)))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa691_691)))))), ! [X_b692_692, X_c693_693, X_a694_694, F1695_695, A_4696_696, B697_697] :  (=(hAPP(product_prod(X_b692_692, X_c693_693), X_a694_694, hAPP(fun(X_b692_692, fun(X_c693_693, X_a694_694)), fun(product_prod(X_b692_692, X_c693_693), X_a694_694), product_prod_case(X_b692_692, X_c693_693, X_a694_694), F1695_695), hAPP(X_c693_693, product_prod(X_b692_692, X_c693_693), hAPP(X_b692_692, fun(X_c693_693, product_prod(X_b692_692, X_c693_693)), product_Pair(X_b692_692, X_c693_693), A_4696_696), B697_697)), hAPP(X_c693_693, X_a694_694, hAPP(X_b692_692, fun(X_c693_693, X_a694_694), F1695_695, A_4696_696), B697_697))), ! [X_b698_698, X_c699_699, X_a700_700, F_2701_701, A_4702_702, B703_703] :  (=(hAPP(product_prod(X_b698_698, X_c699_699), X_a700_700, hAPP(fun(X_b698_698, fun(X_c699_699, X_a700_700)), fun(product_prod(X_b698_698, X_c699_699), X_a700_700), product_prod_case(X_b698_698, X_c699_699, X_a700_700), F_2701_701), hAPP(X_c699_699, product_prod(X_b698_698, X_c699_699), hAPP(X_b698_698, fun(X_c699_699, product_prod(X_b698_698, X_c699_699)), product_Pair(X_b698_698, X_c699_699), A_4702_702), B703_703)), hAPP(X_c699_699, X_a700_700, hAPP(X_b698_698, fun(X_c699_699, X_a700_700), F_2701_701, A_4702_702), B703_703))), ! [X_b704_704, X_a705_705, M706_706, N707_707, K708_708, Xx709_709] :  ((=(hAPP(X_b704_704, option(X_a705_705), N707_707, K708_708), hAPP(X_a705_705, option(X_a705_705), some(X_a705_705), Xx709_709)) => =(hAPP(X_b704_704, option(X_a705_705), hAPP(fun(X_b704_704, option(X_a705_705)), fun(X_b704_704, option(X_a705_705)), hAPP(fun(X_b704_704, option(X_a705_705)), fun(fun(X_b704_704, option(X_a705_705)), fun(X_b704_704, option(X_a705_705))), map_add(X_b704_704, X_a705_705), M706_706), N707_707), K708_708), hAPP(X_a705_705, option(X_a705_705), some(X_a705_705), Xx709_709)))), ! [X_a710_710, X_b711_711, X_c712_712, F_2713_713] :  (=(hAPP(fun(X_a710_710, fun(X_b711_711, X_c712_712)), fun(product_prod(X_a710_710, X_b711_711), X_c712_712), product_prod_case(X_a710_710, X_b711_711, X_c712_712), hAPP(fun(X_a710_710, fun(X_b711_711, product_prod(X_a710_710, X_b711_711))), fun(X_a710_710, fun(X_b711_711, X_c712_712)), hAPP(fun(fun(X_b711_711, product_prod(X_a710_710, X_b711_711)), fun(X_b711_711, X_c712_712)), fun(fun(X_a710_710, fun(X_b711_711, product_prod(X_a710_710, X_b711_711))), fun(X_a710_710, fun(X_b711_711, X_c712_712))), combb(fun(X_b711_711, product_prod(X_a710_710, X_b711_711)), fun(X_b711_711, X_c712_712), X_a710_710), hAPP(fun(product_prod(X_a710_710, X_b711_711), X_c712_712), fun(fun(X_b711_711, product_prod(X_a710_710, X_b711_711)), fun(X_b711_711, X_c712_712)), combb(product_prod(X_a710_710, X_b711_711), X_c712_712, X_b711_711), F_2713_713)), product_Pair(X_a710_710, X_b711_711))), ti(fun(product_prod(X_a710_710, X_b711_711), X_c712_712), F_2713_713))), ! [X_a714_714, X_b715_715, F_2716_716, G717_717] :  ((! [X_1718_718] :  (=(hAPP(X_a714_714, X_b715_715, F_2716_716, X_1718_718), hAPP(X_a714_714, X_b715_715, G717_717, X_1718_718))) => =(ti(fun(X_a714_714, X_b715_715), F_2716_716), ti(fun(X_a714_714, X_b715_715), G717_717)))), ! [X_a719_719, X_2720_720, A_5721_721] :  ((hBOOL(hAPP(fun(X_a719_719, bool), bool, hAPP(X_a719_719, fun(fun(X_a719_719, bool), bool), member(X_a719_719), X_2720_720), A_5721_721)) <=> hBOOL(hAPP(X_a719_719, bool, A_5721_721, X_2720_720)))), ! [X_a722_722, Pa723_723] :  (=(hAPP(fun(X_a722_722, bool), fun(X_a722_722, bool), collect(X_a722_722), Pa723_723), ti(fun(X_a722_722, bool), Pa723_723))), ! [Va_1724_724, Eb725_725, S_2726_726, E_b727_727, S728_728, Pa729_729] :  ((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)))), Eb725_725), S_2726_726)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b727_727), S728_728))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa729_729))) => 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)), Va_1724_724), Eb725_725)), S_2726_726)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_1724_724), E_b727_727)), S728_728))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa729_729))))), ! [E_2730_730, Eb731_731, S_2732_732, E_b733_733, S734_734, Pa735_735] :  ((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)))), Eb731_731), S_2732_732)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b733_733), S734_734))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa735_735))) => 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)), Eb731_731), E_2730_730)), S_2732_732)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), E_b733_733), E_2730_730)), S734_734))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa735_735))))), ! [X_b736_736, X_a737_737, F_2738_738, A_4739_739, B740_740] :  ((hBOOL(hAPP(X_b736_736, bool, hAPP(X_a737_737, fun(X_b736_736, bool), hAPP(fun(product_prod(X_a737_737, X_b736_736), bool), fun(X_a737_737, fun(X_b736_736, bool)), product_curry(X_a737_737, X_b736_736, bool), F_2738_738), A_4739_739), B740_740)) => hBOOL(hAPP(product_prod(X_a737_737, X_b736_736), bool, F_2738_738, hAPP(X_b736_736, product_prod(X_a737_737, X_b736_736), hAPP(X_a737_737, fun(X_b736_736, product_prod(X_a737_737, X_b736_736)), product_Pair(X_a737_737, X_b736_736), A_4739_739), B740_740))))), ! [X_b741_741, X_a742_742, F_2743_743, A_4744_744, B745_745] :  ((hBOOL(hAPP(X_b741_741, bool, hAPP(X_a742_742, fun(X_b741_741, bool), hAPP(fun(product_prod(X_a742_742, X_b741_741), bool), fun(X_a742_742, fun(X_b741_741, bool)), product_curry(X_a742_742, X_b741_741, bool), F_2743_743), A_4744_744), B745_745)) => hBOOL(hAPP(product_prod(X_a742_742, X_b741_741), bool, F_2743_743, hAPP(X_b741_741, product_prod(X_a742_742, X_b741_741), hAPP(X_a742_742, fun(X_b741_741, product_prod(X_a742_742, X_b741_741)), product_Pair(X_a742_742, X_b741_741), A_4744_744), B745_745))))), ! [X_a746_746, X_b747_747, F_2748_748, G749_749, X_2750_750, Y_1751_751] :  (=(hAPP(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, option(X_b747_747)), hAPP(fun(X_a746_746, option(X_b747_747)), fun(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, option(X_b747_747))), map_add(X_a746_746, X_b747_747), F_2748_748), hAPP(option(X_b747_747), fun(X_a746_746, option(X_b747_747)), hAPP(X_a746_746, fun(option(X_b747_747), fun(X_a746_746, option(X_b747_747))), hAPP(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, fun(option(X_b747_747), fun(X_a746_746, option(X_b747_747)))), fun_upd(X_a746_746, option(X_b747_747)), G749_749), X_2750_750), hAPP(X_b747_747, option(X_b747_747), some(X_b747_747), Y_1751_751))), hAPP(option(X_b747_747), fun(X_a746_746, option(X_b747_747)), hAPP(X_a746_746, fun(option(X_b747_747), fun(X_a746_746, option(X_b747_747))), hAPP(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, fun(option(X_b747_747), fun(X_a746_746, option(X_b747_747)))), fun_upd(X_a746_746, option(X_b747_747)), hAPP(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, option(X_b747_747)), hAPP(fun(X_a746_746, option(X_b747_747)), fun(fun(X_a746_746, option(X_b747_747)), fun(X_a746_746, option(X_b747_747))), map_add(X_a746_746, X_b747_747), F_2748_748), G749_749)), X_2750_750), hAPP(X_b747_747, option(X_b747_747), some(X_b747_747), Y_1751_751)))), ! [X_c752_752, X_a753_753, X_b754_754, F_2755_755, A_4756_756, B757_757] :  (=(hAPP(X_c752_752, X_a753_753, hAPP(X_b754_754, fun(X_c752_752, X_a753_753), hAPP(fun(product_prod(X_b754_754, X_c752_752), X_a753_753), fun(X_b754_754, fun(X_c752_752, X_a753_753)), product_curry(X_b754_754, X_c752_752, X_a753_753), F_2755_755), A_4756_756), B757_757), hAPP(product_prod(X_b754_754, X_c752_752), X_a753_753, F_2755_755, hAPP(X_c752_752, product_prod(X_b754_754, X_c752_752), hAPP(X_b754_754, fun(X_c752_752, product_prod(X_b754_754, X_c752_752)), product_Pair(X_b754_754, X_c752_752), A_4756_756), B757_757)))), ! [X_a758_758, Va_1759_759, Va760_760, Ta761_761, Pa762_762, Hb763_763, Lb764_764, Ea765_765] :  ((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, X_a758_758)))))))), 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(X_a758_758), Pa762_762), Hb763_763), Lb764_764), Ea765_765)) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a758_758)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a758_758), Pa762_762), Hb763_763), Va760_760), Ta761_761)) => 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, X_a758_758)))))))), 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(X_a758_758), Pa762_762), Hb763_763), 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)), Lb764_764), Va_1759_759), hAPP(val, option(val), some(val), Va760_760))), 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)), Ea765_765), Va_1759_759), hAPP(ty, option(ty), some(ty), Ta761_761))))))), ! [Pa766_766, Hb767_767, Ea768_768, Va_1769_769, Ta770_770, Eb771_771, T_a772_772] :  ((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, Pa766_766), Hb767_767), 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)), Ea768_768), Va_1769_769), hAPP(ty, option(ty), some(ty), Ta770_770))), Eb771_771), T_a772_772)) => 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, Pa766_766), Hb767_767), Ea768_768), 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)), Va_1769_769), Ta770_770), Eb771_771)), T_a772_772)))), ! [X_a773_773, X_b774_774, C775_775, P_1776_776] :  ((hBOOL(hAPP(product_prod(X_a773_773, X_b774_774), bool, hAPP(fun(X_a773_773, fun(X_b774_774, bool)), fun(product_prod(X_a773_773, X_b774_774), bool), product_prod_case(X_a773_773, X_b774_774, bool), C775_775), P_1776_776)) => ~! [X_1777_777, Y_2778_778] :  ((=(ti(product_prod(X_a773_773, X_b774_774), P_1776_776), hAPP(X_b774_774, product_prod(X_a773_773, X_b774_774), hAPP(X_a773_773, fun(X_b774_774, product_prod(X_a773_773, X_b774_774)), product_Pair(X_a773_773, X_b774_774), X_1777_777), Y_2778_778)) => ~hBOOL(hAPP(X_b774_774, bool, hAPP(X_a773_773, fun(X_b774_774, bool), C775_775, X_1777_777), Y_2778_778)))))), ! [X_a779_779, X_b780_780, C781_781, P_1782_782] :  ((! [A_3783_783, B_1784_784] :  ((=(ti(product_prod(X_a779_779, X_b780_780), P_1782_782), hAPP(X_b780_780, product_prod(X_a779_779, X_b780_780), hAPP(X_a779_779, fun(X_b780_780, product_prod(X_a779_779, X_b780_780)), product_Pair(X_a779_779, X_b780_780), A_3783_783), B_1784_784)) => hBOOL(hAPP(X_b780_780, bool, hAPP(X_a779_779, fun(X_b780_780, bool), C781_781, A_3783_783), B_1784_784)))) => hBOOL(hAPP(product_prod(X_a779_779, X_b780_780), bool, hAPP(fun(X_a779_779, fun(X_b780_780, bool)), fun(product_prod(X_a779_779, X_b780_780), bool), product_prod_case(X_a779_779, X_b780_780, bool), C781_781), P_1782_782)))), ! [E_2785_785, T_2_2786_786, Pa787_787, Hb788_788, Ea789_789, E_1790_790, T_1_2791_791] :  ((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, Pa787_787), Hb788_788), Ea789_789), E_1790_790), T_1_2791_791)) => (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, Pa787_787), Hb788_788), Ea789_789), E_2785_785), T_2_2786_786)) => 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, Pa787_787), Hb788_788), Ea789_789), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), E_1790_790), E_2785_785)), T_2_2786_786))))), ! [Va_1800_800, Va801_801, Hb802_802, Lb803_803, Pa804_804] :  (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)), Va_1800_800), hAPP(val, exp(list(char)), val_1(list(char)), Va801_801))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb802_802), Lb803_803))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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))), Hb802_802), 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)), Lb803_803), Va_1800_800), hAPP(val, option(val), some(val), Va801_801)))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa804_804)))), ! [Hb805_805] :  (hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb805_805), Hb805_805))), ! [X_b806_806, X_c807_807, X_a808_808, F_2809_809, G810_810] :  ((! [X_1811_811, Y_2812_812] :  (=(hAPP(X_b806_806, X_c807_807, hAPP(X_a808_808, fun(X_b806_806, X_c807_807), F_2809_809, X_1811_811), Y_2812_812), hAPP(product_prod(X_a808_808, X_b806_806), X_c807_807, G810_810, hAPP(X_b806_806, product_prod(X_a808_808, X_b806_806), hAPP(X_a808_808, fun(X_b806_806, product_prod(X_a808_808, X_b806_806)), product_Pair(X_a808_808, X_b806_806), X_1811_811), Y_2812_812)))) => =(hAPP(fun(X_a808_808, fun(X_b806_806, X_c807_807)), fun(product_prod(X_a808_808, X_b806_806), X_c807_807), product_prod_case(X_a808_808, X_b806_806, X_c807_807), F_2809_809), ti(fun(product_prod(X_a808_808, X_b806_806), X_c807_807), G810_810)))), ! [X_a813_813, X_b814_814, A_4815_815, M816_816] :  ((hBOOL(hAPP(fun(X_a813_813, bool), bool, hAPP(X_a813_813, fun(fun(X_a813_813, bool), bool), member(X_a813_813), A_4815_815), hAPP(fun(X_a813_813, option(X_b814_814)), fun(X_a813_813, bool), dom(X_a813_813, X_b814_814), M816_816))) => ? [B_1817_817] :  (=(hAPP(X_a813_813, option(X_b814_814), M816_816, A_4815_815), hAPP(X_b814_814, option(X_b814_814), some(X_b814_814), B_1817_817))))), ! [X_a818_818, X_b819_819, X_c820_820, Q_1821_821, Pa822_822, Z823_823] :  ((hBOOL(hAPP(X_a818_818, bool, Q_1821_821, hAPP(product_prod(X_b819_819, X_c820_820), X_a818_818, hAPP(fun(X_b819_819, fun(X_c820_820, X_a818_818)), fun(product_prod(X_b819_819, X_c820_820), X_a818_818), product_prod_case(X_b819_819, X_c820_820, X_a818_818), Pa822_822), Z823_823))) => ~! [X_1824_824, Y_2825_825] :  ((=(ti(product_prod(X_b819_819, X_c820_820), Z823_823), hAPP(X_c820_820, product_prod(X_b819_819, X_c820_820), hAPP(X_b819_819, fun(X_c820_820, product_prod(X_b819_819, X_c820_820)), product_Pair(X_b819_819, X_c820_820), X_1824_824), Y_2825_825)) => ~hBOOL(hAPP(X_a818_818, bool, Q_1821_821, hAPP(X_c820_820, X_a818_818, hAPP(X_b819_819, fun(X_c820_820, X_a818_818), Pa822_822, X_1824_824), Y_2825_825))))))), ! [X_a826_826, X_c827_827, X_b828_828, Z829_829, C830_830, A_4831_831, B832_832] :  ((hBOOL(hAPP(fun(X_a826_826, bool), bool, hAPP(X_a826_826, fun(fun(X_a826_826, bool), bool), member(X_a826_826), Z829_829), hAPP(X_c827_827, fun(X_a826_826, bool), hAPP(X_b828_828, fun(X_c827_827, fun(X_a826_826, bool)), C830_830, A_4831_831), B832_832))) => hBOOL(hAPP(fun(X_a826_826, bool), bool, hAPP(X_a826_826, fun(fun(X_a826_826, bool), bool), member(X_a826_826), Z829_829), hAPP(product_prod(X_b828_828, X_c827_827), fun(X_a826_826, bool), hAPP(fun(X_b828_828, fun(X_c827_827, fun(X_a826_826, bool))), fun(product_prod(X_b828_828, X_c827_827), fun(X_a826_826, bool)), product_prod_case(X_b828_828, X_c827_827, fun(X_a826_826, bool)), C830_830), hAPP(X_c827_827, product_prod(X_b828_828, X_c827_827), hAPP(X_b828_828, fun(X_c827_827, product_prod(X_b828_828, X_c827_827)), product_Pair(X_b828_828, X_c827_827), A_4831_831), B832_832)))))), ! [X_c833_833, X_a834_834, X_b835_835, R_2836_836, A_4837_837, B838_838, C839_839] :  ((hBOOL(hAPP(X_c833_833, bool, hAPP(product_prod(X_a834_834, X_b835_835), fun(X_c833_833, bool), hAPP(fun(X_a834_834, fun(X_b835_835, fun(X_c833_833, bool))), fun(product_prod(X_a834_834, X_b835_835), fun(X_c833_833, bool)), product_prod_case(X_a834_834, X_b835_835, fun(X_c833_833, bool)), R_2836_836), hAPP(X_b835_835, product_prod(X_a834_834, X_b835_835), hAPP(X_a834_834, fun(X_b835_835, product_prod(X_a834_834, X_b835_835)), product_Pair(X_a834_834, X_b835_835), A_4837_837), B838_838)), C839_839)) => hBOOL(hAPP(X_c833_833, bool, hAPP(X_b835_835, fun(X_c833_833, bool), hAPP(X_a834_834, fun(X_b835_835, fun(X_c833_833, bool)), R_2836_836, A_4837_837), B838_838), C839_839)))), ! [Fs_2840_840, Hb841_841, A_4842_842, C_1843_843, Fs_1844_844] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb841_841, A_4842_842), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1843_843), Fs_1844_844))) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb841_841), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb841_841), A_4842_842), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1843_843), Fs_2840_840))))))), ! [H_3845_845, Hb846_846, H_b847_847] :  ((hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb846_846), H_b847_847)) => (hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, H_b847_847), H_3845_845)) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb846_846), H_3845_845))))), ! [H_b848_848, Pa849_849, Hb850_850, Ea851_851, Eb852_852, Ta853_853] :  ((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, Pa849_849), Hb850_850), Ea851_851), Eb852_852), Ta853_853)) => (hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb850_850), H_b848_848)) => 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, Pa849_849), H_b848_848), Ea851_851), Eb852_852), Ta853_853))))), ! [A_4854_854, C_1855_855, Fs_1856_856, Hb857_857, H_b858_858] :  ((hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb857_857), H_b858_858)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb857_857, A_4854_854), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1855_855), Fs_1856_856))) => ? [Fs_3859_859] :  (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_b858_858, A_4854_854), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1855_855), Fs_3859_859))))))), ! [X_c866_866, X_a867_867, X_b868_868, Z869_869, C870_870, P_1871_871] :  ((! [A_3872_872, B_1873_873] :  ((=(ti(product_prod(X_a867_867, X_b868_868), P_1871_871), hAPP(X_b868_868, product_prod(X_a867_867, X_b868_868), hAPP(X_a867_867, fun(X_b868_868, product_prod(X_a867_867, X_b868_868)), product_Pair(X_a867_867, X_b868_868), A_3872_872), B_1873_873)) => hBOOL(hAPP(fun(X_c866_866, bool), bool, hAPP(X_c866_866, fun(fun(X_c866_866, bool), bool), member(X_c866_866), Z869_869), hAPP(X_b868_868, fun(X_c866_866, bool), hAPP(X_a867_867, fun(X_b868_868, fun(X_c866_866, bool)), C870_870, A_3872_872), B_1873_873))))) => hBOOL(hAPP(fun(X_c866_866, bool), bool, hAPP(X_c866_866, fun(fun(X_c866_866, bool), bool), member(X_c866_866), Z869_869), hAPP(product_prod(X_a867_867, X_b868_868), fun(X_c866_866, bool), hAPP(fun(X_a867_867, fun(X_b868_868, fun(X_c866_866, bool))), fun(product_prod(X_a867_867, X_b868_868), fun(X_c866_866, bool)), product_prod_case(X_a867_867, X_b868_868, fun(X_c866_866, bool)), C870_870), P_1871_871))))), ! [X_c874_874, X_b875_875, X_a876_876, C877_877, X_2878_878, P_1879_879] :  ((! [A_3880_880, B_1881_881] :  ((=(hAPP(X_b875_875, product_prod(X_a876_876, X_b875_875), hAPP(X_a876_876, fun(X_b875_875, product_prod(X_a876_876, X_b875_875)), product_Pair(X_a876_876, X_b875_875), A_3880_880), B_1881_881), ti(product_prod(X_a876_876, X_b875_875), P_1879_879)) => hBOOL(hAPP(X_c874_874, bool, hAPP(X_b875_875, fun(X_c874_874, bool), hAPP(X_a876_876, fun(X_b875_875, fun(X_c874_874, bool)), C877_877, A_3880_880), B_1881_881), X_2878_878)))) => hBOOL(hAPP(X_c874_874, bool, hAPP(product_prod(X_a876_876, X_b875_875), fun(X_c874_874, bool), hAPP(fun(X_a876_876, fun(X_b875_875, fun(X_c874_874, bool))), fun(product_prod(X_a876_876, X_b875_875), fun(X_c874_874, bool)), product_prod_case(X_a876_876, X_b875_875, fun(X_c874_874, bool)), C877_877), P_1879_879), X_2878_878)))), ! [X_a882_882, X_b883_883, X_c884_884, Z885_885, C886_886, P_1887_887] :  ((hBOOL(hAPP(fun(X_a882_882, bool), bool, hAPP(X_a882_882, fun(fun(X_a882_882, bool), bool), member(X_a882_882), Z885_885), hAPP(product_prod(X_b883_883, X_c884_884), fun(X_a882_882, bool), hAPP(fun(X_b883_883, fun(X_c884_884, fun(X_a882_882, bool))), fun(product_prod(X_b883_883, X_c884_884), fun(X_a882_882, bool)), product_prod_case(X_b883_883, X_c884_884, fun(X_a882_882, bool)), C886_886), P_1887_887))) => ~! [X_1888_888, Y_2889_889] :  ((=(ti(product_prod(X_b883_883, X_c884_884), P_1887_887), hAPP(X_c884_884, product_prod(X_b883_883, X_c884_884), hAPP(X_b883_883, fun(X_c884_884, product_prod(X_b883_883, X_c884_884)), product_Pair(X_b883_883, X_c884_884), X_1888_888), Y_2889_889)) => ~hBOOL(hAPP(fun(X_a882_882, bool), bool, hAPP(X_a882_882, fun(fun(X_a882_882, bool), bool), member(X_a882_882), Z885_885), hAPP(X_c884_884, fun(X_a882_882, bool), hAPP(X_b883_883, fun(X_c884_884, fun(X_a882_882, bool)), C886_886, X_1888_888), Y_2889_889))))))), ! [X_c890_890, X_a891_891, X_b892_892, C893_893, P_1894_894, Z895_895] :  ((hBOOL(hAPP(X_c890_890, bool, hAPP(product_prod(X_a891_891, X_b892_892), fun(X_c890_890, bool), hAPP(fun(X_a891_891, fun(X_b892_892, fun(X_c890_890, bool))), fun(product_prod(X_a891_891, X_b892_892), fun(X_c890_890, bool)), product_prod_case(X_a891_891, X_b892_892, fun(X_c890_890, bool)), C893_893), P_1894_894), Z895_895)) => ~! [X_1896_896, Y_2897_897] :  ((=(ti(product_prod(X_a891_891, X_b892_892), P_1894_894), hAPP(X_b892_892, product_prod(X_a891_891, X_b892_892), hAPP(X_a891_891, fun(X_b892_892, product_prod(X_a891_891, X_b892_892)), product_Pair(X_a891_891, X_b892_892), X_1896_896), Y_2897_897)) => ~hBOOL(hAPP(X_c890_890, bool, hAPP(X_b892_892, fun(X_c890_890, bool), hAPP(X_a891_891, fun(X_b892_892, fun(X_c890_890, bool)), C893_893, X_1896_896), Y_2897_897), Z895_895)))))), ! [X_a898_898, Va_1899_899, Eb900_900, A_5901_901] :  ((hBOOL(hAPP(option(fun(X_a898_898, bool)), bool, hAPP(exp(X_a898_898), fun(option(fun(X_a898_898, bool)), bool), d(X_a898_898), hAPP(exp(X_a898_898), exp(X_a898_898), hAPP(X_a898_898, fun(exp(X_a898_898), exp(X_a898_898)), lAss(X_a898_898), Va_1899_899), Eb900_900)), A_5901_901)) <=> hBOOL(hAPP(option(fun(X_a898_898, bool)), bool, hAPP(exp(X_a898_898), fun(option(fun(X_a898_898, bool)), bool), d(X_a898_898), Eb900_900), A_5901_901)))), ! [X_a902_902, A_1903_903, Ty_1904_904, Exp_1905_905, A_2906_906, Exp907_907] :  (~=(hAPP(exp(X_a902_902), exp(X_a902_902), hAPP(ty, fun(exp(X_a902_902), exp(X_a902_902)), hAPP(X_a902_902, fun(ty, fun(exp(X_a902_902), exp(X_a902_902))), block(X_a902_902), A_1903_903), Ty_1904_904), Exp_1905_905), hAPP(exp(X_a902_902), exp(X_a902_902), hAPP(X_a902_902, fun(exp(X_a902_902), exp(X_a902_902)), lAss(X_a902_902), A_2906_906), Exp907_907))), ! [X_a908_908, Val_3909_909, Val_2910_910] :  ((=(hAPP(val, exp(X_a908_908), val_1(X_a908_908), Val_3909_909), hAPP(val, exp(X_a908_908), val_1(X_a908_908), Val_2910_910)) <=> =(Val_3909_909, Val_2910_910))), ! [X_a911_911, Exp1_3912_912, Exp2_3913_913, Exp1_2914_914, Exp2_2915_915] :  ((=(hAPP(exp(X_a911_911), exp(X_a911_911), hAPP(exp(X_a911_911), fun(exp(X_a911_911), exp(X_a911_911)), seq(X_a911_911), Exp1_3912_912), Exp2_3913_913), hAPP(exp(X_a911_911), exp(X_a911_911), hAPP(exp(X_a911_911), fun(exp(X_a911_911), exp(X_a911_911)), seq(X_a911_911), Exp1_2914_914), Exp2_2915_915)) <=> (=(Exp1_3912_912, Exp1_2914_914) & =(Exp2_3913_913, Exp2_2915_915)))), ! [X_a916_916, A_4917_917, Exp_3918_918, A_6919_919, Exp_2920_920] :  ((=(hAPP(exp(X_a916_916), exp(X_a916_916), hAPP(X_a916_916, fun(exp(X_a916_916), exp(X_a916_916)), lAss(X_a916_916), A_4917_917), Exp_3918_918), hAPP(exp(X_a916_916), exp(X_a916_916), hAPP(X_a916_916, fun(exp(X_a916_916), exp(X_a916_916)), lAss(X_a916_916), A_6919_919), Exp_2920_920)) <=> (=(ti(X_a916_916, A_4917_917), ti(X_a916_916, A_6919_919)) & =(Exp_3918_918, Exp_2920_920)))), ! [X_a921_921, A_4922_922, Ty_3923_923, Exp_3924_924, A_6925_925, Ty_2926_926, Exp_2927_927] :  ((=(hAPP(exp(X_a921_921), exp(X_a921_921), hAPP(ty, fun(exp(X_a921_921), exp(X_a921_921)), hAPP(X_a921_921, fun(ty, fun(exp(X_a921_921), exp(X_a921_921))), block(X_a921_921), A_4922_922), Ty_3923_923), Exp_3924_924), hAPP(exp(X_a921_921), exp(X_a921_921), hAPP(ty, fun(exp(X_a921_921), exp(X_a921_921)), hAPP(X_a921_921, fun(ty, fun(exp(X_a921_921), exp(X_a921_921))), block(X_a921_921), A_6925_925), Ty_2926_926), Exp_2927_927)) <=> ((=(ti(X_a921_921, A_4922_922), ti(X_a921_921, A_6925_925)) & =(Ty_3923_923, Ty_2926_926)) & =(Exp_3924_924, Exp_2927_927)))), ! [X_a928_928, Val929_929, Exp1_1930_930, Exp2_1931_931] :  (~=(hAPP(val, exp(X_a928_928), val_1(X_a928_928), Val929_929), hAPP(exp(X_a928_928), exp(X_a928_928), hAPP(exp(X_a928_928), fun(exp(X_a928_928), exp(X_a928_928)), seq(X_a928_928), Exp1_1930_930), Exp2_1931_931))), ! [X_a932_932, Val933_933, A_1934_934, Exp_1935_935] :  (~=(hAPP(val, exp(X_a932_932), val_1(X_a932_932), Val933_933), hAPP(exp(X_a932_932), exp(X_a932_932), hAPP(X_a932_932, fun(exp(X_a932_932), exp(X_a932_932)), lAss(X_a932_932), A_1934_934), Exp_1935_935))), ! [X_a936_936, Exp1_1937_937, Exp2_1938_938, Val939_939] :  (~=(hAPP(exp(X_a936_936), exp(X_a936_936), hAPP(exp(X_a936_936), fun(exp(X_a936_936), exp(X_a936_936)), seq(X_a936_936), Exp1_1937_937), Exp2_1938_938), hAPP(val, exp(X_a936_936), val_1(X_a936_936), Val939_939))), ! [X_a940_940, A_1941_941, Exp_1942_942, Val943_943] :  (~=(hAPP(exp(X_a940_940), exp(X_a940_940), hAPP(X_a940_940, fun(exp(X_a940_940), exp(X_a940_940)), lAss(X_a940_940), A_1941_941), Exp_1942_942), hAPP(val, exp(X_a940_940), val_1(X_a940_940), Val943_943))), ! [X_a944_944, Val945_945, A_1946_946, Ty_1947_947, Exp_1948_948] :  (~=(hAPP(val, exp(X_a944_944), val_1(X_a944_944), Val945_945), hAPP(exp(X_a944_944), exp(X_a944_944), hAPP(ty, fun(exp(X_a944_944), exp(X_a944_944)), hAPP(X_a944_944, fun(ty, fun(exp(X_a944_944), exp(X_a944_944))), block(X_a944_944), A_1946_946), Ty_1947_947), Exp_1948_948))), ! [X_a949_949, A_1950_950, Ty_1951_951, Exp_1952_952, Val953_953] :  (~=(hAPP(exp(X_a949_949), exp(X_a949_949), hAPP(ty, fun(exp(X_a949_949), exp(X_a949_949)), hAPP(X_a949_949, fun(ty, fun(exp(X_a949_949), exp(X_a949_949))), block(X_a949_949), A_1950_950), Ty_1951_951), Exp_1952_952), hAPP(val, exp(X_a949_949), val_1(X_a949_949), Val953_953))), ! [X_a954_954, Va955_955, A_5956_956] :  (hBOOL(hAPP(option(fun(X_a954_954, bool)), bool, hAPP(exp(X_a954_954), fun(option(fun(X_a954_954, bool)), bool), d(X_a954_954), hAPP(val, exp(X_a954_954), val_1(X_a954_954), Va955_955)), A_5956_956))), ! [X_a957_957, Exp1_1958_958, Exp2_1959_959, A_2960_960, Exp961_961] :  (~=(hAPP(exp(X_a957_957), exp(X_a957_957), hAPP(exp(X_a957_957), fun(exp(X_a957_957), exp(X_a957_957)), seq(X_a957_957), Exp1_1958_958), Exp2_1959_959), hAPP(exp(X_a957_957), exp(X_a957_957), hAPP(X_a957_957, fun(exp(X_a957_957), exp(X_a957_957)), lAss(X_a957_957), A_2960_960), Exp961_961))), ! [X_a962_962, A_2963_963, Exp964_964, Exp1_1965_965, Exp2_1966_966] :  (~=(hAPP(exp(X_a962_962), exp(X_a962_962), hAPP(X_a962_962, fun(exp(X_a962_962), exp(X_a962_962)), lAss(X_a962_962), A_2963_963), Exp964_964), hAPP(exp(X_a962_962), exp(X_a962_962), hAPP(exp(X_a962_962), fun(exp(X_a962_962), exp(X_a962_962)), seq(X_a962_962), Exp1_1965_965), Exp2_1966_966))), ! [X_a967_967, Exp1_1968_968, Exp2_1969_969, A_2970_970, Ty971_971, Exp972_972] :  (~=(hAPP(exp(X_a967_967), exp(X_a967_967), hAPP(exp(X_a967_967), fun(exp(X_a967_967), exp(X_a967_967)), seq(X_a967_967), Exp1_1968_968), Exp2_1969_969), hAPP(exp(X_a967_967), exp(X_a967_967), hAPP(ty, fun(exp(X_a967_967), exp(X_a967_967)), hAPP(X_a967_967, fun(ty, fun(exp(X_a967_967), exp(X_a967_967))), block(X_a967_967), A_2970_970), Ty971_971), Exp972_972))), ! [X_a973_973, A_2974_974, Exp975_975, A_1976_976, Ty_1977_977, Exp_1978_978] :  (~=(hAPP(exp(X_a973_973), exp(X_a973_973), hAPP(X_a973_973, fun(exp(X_a973_973), exp(X_a973_973)), lAss(X_a973_973), A_2974_974), Exp975_975), hAPP(exp(X_a973_973), exp(X_a973_973), hAPP(ty, fun(exp(X_a973_973), exp(X_a973_973)), hAPP(X_a973_973, fun(ty, fun(exp(X_a973_973), exp(X_a973_973))), block(X_a973_973), A_1976_976), Ty_1977_977), Exp_1978_978))), ! [X_a979_979, A_2980_980, Ty981_981, Exp982_982, Exp1_1983_983, Exp2_1984_984] :  (~=(hAPP(exp(X_a979_979), exp(X_a979_979), hAPP(ty, fun(exp(X_a979_979), exp(X_a979_979)), hAPP(X_a979_979, fun(ty, fun(exp(X_a979_979), exp(X_a979_979))), block(X_a979_979), A_2980_980), Ty981_981), Exp982_982), hAPP(exp(X_a979_979), exp(X_a979_979), hAPP(exp(X_a979_979), fun(exp(X_a979_979), exp(X_a979_979)), seq(X_a979_979), Exp1_1983_983), Exp2_1984_984))), ! [X_a985_985, Fs_2986_986, A_4987_987, C_1988_988, Fs_1989_989, Pa990_990, Hb991_991] :  ((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, X_a985_985)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hconf(X_a985_985), Pa990_990), Hb991_991)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb991_991, A_4987_987), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1988_988), Fs_1989_989))) => (hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a985_985)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a985_985), Pa990_990), Hb991_991), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1988_988), Fs_2986_986))) => 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, X_a985_985)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hconf(X_a985_985), Pa990_990), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb991_991), A_4987_987), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_1988_988), Fs_2986_986))))))))), ! [Ta992_992, V_a993_993, Pa994_994, Eb995_995, Hb996_996, Lb997_997, Va_1998_998, Va999_999, E_b1000_1000, H_b1001_1001, L_b1002_1002] :  ((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, Pa994_994), Eb995_995), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb996_996), 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)), Lb997_997), Va_1998_998), hAPP(val, option(val), some(val), Va999_999)))), E_b1000_1000), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1001_1001), L_b1002_1002))) => (=(hAPP(list(char), option(val), L_b1002_1002, Va_1998_998), hAPP(val, option(val), some(val), V_a993_993)) => 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, Pa994_994), 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)), Va_1998_998), Ta992_992), 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)), Va_1998_998), hAPP(val, exp(list(char)), val_1(list(char)), Va999_999))), Eb995_995))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb996_996), Lb997_997)), 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)), Va_1998_998), Ta992_992), 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)), Va_1998_998), hAPP(val, exp(list(char)), val_1(list(char)), V_a993_993))), E_b1000_1000))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1001_1001), 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)), L_b1002_1002), Va_1998_998), hAPP(list(char), option(val), Lb997_997, Va_1998_998)))))))), ! [Ta1003_1003, Va1004_1004, Eb1005_1005, Hb1006_1006, Lb1007_1007, Va_11008_1008, E_b1009_1009, H_b1010_1010, L_b1011_1011, Pa1012_1012] :  ((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)))), Eb1005_1005), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1006_1006), 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)), Lb1007_1007), Va_11008_1008), 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)))), E_b1009_1009), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1010_1010), L_b1011_1011)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1012_1012))) => (=(hAPP(list(char), option(val), L_b1011_1011, Va_11008_1008), hAPP(val, option(val), some(val), Va1004_1004)) => (~hBOOL(hAPP(exp(list(char)), bool, hAPP(list(char), fun(exp(list(char)), bool), assigned, Va_11008_1008), Eb1005_1005)) => 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)), Va_11008_1008), Ta1003_1003), Eb1005_1005)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1006_1006), Lb1007_1007))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_11008_1008), Ta1003_1003), 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)), Va_11008_1008), hAPP(val, exp(list(char)), val_1(list(char)), Va1004_1004))), E_b1009_1009))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1010_1010), 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)), L_b1011_1011), Va_11008_1008), hAPP(list(char), option(val), Lb1007_1007, Va_11008_1008)))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1012_1012))))))), ! [Pa1013_1013, Hb1014_1014, Eb1015_1015, T_a1016_1016, Ea1017_1017, Va_11018_1018, Ta1019_1019] :  ((=(hAPP(list(char), option(ty), Ea1017_1017, Va_11018_1018), hAPP(ty, option(ty), some(ty), Ta1019_1019)) => (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, Pa1013_1013), Hb1014_1014), Ea1017_1017), Eb1015_1015), T_a1016_1016)) => (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)))), Pa1013_1013), T_a1016_1016), Ta1019_1019)) => 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, Pa1013_1013), Hb1014_1014), Ea1017_1017), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11018_1018), Eb1015_1015)), void)))))), ! [Va_11020_1020, Eb1021_1021, S_21022_1022, Va1023_1023, H_b1024_1024, L_b1025_1025, Pa1026_1026] :  ((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)))), Eb1021_1021), S_21022_1022)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va1023_1023)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1024_1024), L_b1025_1025)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1026_1026)))) => 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)), Va_11020_1020), Eb1021_1021)), S_21022_1022)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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))), H_b1024_1024), 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)), L_b1025_1025), Va_11020_1020), hAPP(val, option(val), some(val), Va1023_1023)))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1026_1026)))))), ! [H_b1027_1027, Hb1028_1028] :  ((! [A_31029_1029, C_21030_1030, Fs1031_1031] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1028_1028, A_31029_1029), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_21030_1030), Fs1031_1031))) => ? [Fs_31032_1032] :  (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_b1027_1027, A_31029_1029), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_21030_1030), Fs_31032_1032)))))) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb1028_1028), H_b1027_1027)))), ! [Pa1033_1033, Va_11034_1034, Va1035_1035, Hb1036_1036, Lb1037_1037] :  (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, Pa1033_1033), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11034_1034), hAPP(val, exp(list(char)), val_1(list(char)), Va1035_1035))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1036_1036), Lb1037_1037)), 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))), Hb1036_1036), 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)), Lb1037_1037), Va_11034_1034), hAPP(val, option(val), some(val), Va1035_1035)))))), ! [X_a1038_1038, Pa1039_1039, Hb1040_1040, Ea1041_1041] :  (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, X_a1038_1038)))))))), 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(X_a1038_1038), Pa1039_1039), Hb1040_1040), hAPP(option(val), fun(list(char), option(val)), combk(option(val), list(char)), none(val))), Ea1041_1041))), ! [X_a1042_1042, A_11043_1043] :  (~=(none(X_a1042_1042), hAPP(X_a1042_1042, option(X_a1042_1042), some(X_a1042_1042), A_11043_1043))), ! [X_a1044_1044, A_11045_1045] :  (~=(hAPP(X_a1044_1044, option(X_a1044_1044), some(X_a1044_1044), A_11045_1045), none(X_a1044_1044))), ! [X_a1046_1046, X_21047_1047] :  ((! [Y_21048_1048] :  (~=(ti(option(X_a1046_1046), X_21047_1047), hAPP(X_a1046_1046, option(X_a1046_1046), some(X_a1046_1046), Y_21048_1048))) <=> =(ti(option(X_a1046_1046), X_21047_1047), none(X_a1046_1046)))), ! [X_a1049_1049, X_21050_1050] :  ((~=(ti(option(X_a1049_1049), X_21050_1050), none(X_a1049_1049)) <=> ? [Y_21051_1051] :  (=(ti(option(X_a1049_1049), X_21050_1050), hAPP(X_a1049_1049, option(X_a1049_1049), some(X_a1049_1049), Y_21051_1051))))), ! [Va_11052_1052, Pa1053_1053, Eb1054_1054, S_21055_1055, E_b1056_1056, S1057_1057] :  ((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, Pa1053_1053), Eb1054_1054), S_21055_1055), E_b1056_1056), S1057_1057)) => 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, Pa1053_1053), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11052_1052), Eb1054_1054)), S_21055_1055), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11052_1052), E_b1056_1056)), S1057_1057)))), ! [E_21058_1058, Pa1059_1059, Eb1060_1060, S_21061_1061, E_b1062_1062, S1063_1063] :  ((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, Pa1059_1059), Eb1060_1060), S_21061_1061), E_b1062_1062), S1063_1063)) => 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, Pa1059_1059), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), Eb1060_1060), E_21058_1058)), S_21061_1061), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), E_b1062_1062), E_21058_1058)), S1063_1063)))), ! [X_a1064_1064, X_b1065_1065, M1066_1066] :  (=(hAPP(fun(X_a1064_1064, option(X_b1065_1065)), fun(X_a1064_1064, bool), dom(X_a1064_1064, X_b1065_1065), M1066_1066), hAPP(fun(X_a1064_1064, bool), fun(X_a1064_1064, bool), collect(X_a1064_1064), hAPP(fun(X_a1064_1064, bool), fun(X_a1064_1064, bool), hAPP(fun(bool, bool), fun(fun(X_a1064_1064, bool), fun(X_a1064_1064, bool)), combb(bool, bool, X_a1064_1064), fNot), hAPP(option(X_b1065_1065), fun(X_a1064_1064, bool), hAPP(fun(X_a1064_1064, fun(option(X_b1065_1065), bool)), fun(option(X_b1065_1065), fun(X_a1064_1064, bool)), combc(X_a1064_1064, option(X_b1065_1065), bool), hAPP(fun(X_a1064_1064, option(X_b1065_1065)), fun(X_a1064_1064, fun(option(X_b1065_1065), bool)), hAPP(fun(option(X_b1065_1065), fun(option(X_b1065_1065), bool)), fun(fun(X_a1064_1064, option(X_b1065_1065)), fun(X_a1064_1064, fun(option(X_b1065_1065), bool))), combb(option(X_b1065_1065), fun(option(X_b1065_1065), bool), X_a1064_1064), fequal(option(X_b1065_1065))), M1066_1066)), none(X_b1065_1065)))))), ! [X_a1067_1067, X_b1068_1068, A_41069_1069, M1070_1070] :  ((hBOOL(hAPP(fun(X_a1067_1067, bool), bool, hAPP(X_a1067_1067, fun(fun(X_a1067_1067, bool), bool), member(X_a1067_1067), A_41069_1069), hAPP(fun(X_a1067_1067, option(X_b1068_1068)), fun(X_a1067_1067, bool), dom(X_a1067_1067, X_b1068_1068), M1070_1070))) <=> ~=(hAPP(X_a1067_1067, option(X_b1068_1068), M1070_1070, A_41069_1069), none(X_b1068_1068)))), ! [Ta1071_1071, Pa1072_1072, Eb1073_1073, Hb1074_1074, Lb1075_1075, Va_11076_1076, E_b1077_1077, H_b1078_1078, L_b1079_1079] :  ((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, Pa1072_1072), Eb1073_1073), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1074_1074), 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)), Lb1075_1075), Va_11076_1076), none(val)))), E_b1077_1077), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1078_1078), L_b1079_1079))) => (=(hAPP(list(char), option(val), L_b1079_1079, Va_11076_1076), none(val)) => (~hBOOL(hAPP(exp(list(char)), bool, hAPP(list(char), fun(exp(list(char)), bool), assigned, Va_11076_1076), Eb1073_1073)) => 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, Pa1072_1072), 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)), Va_11076_1076), Ta1071_1071), Eb1073_1073)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1074_1074), Lb1075_1075)), 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)), Va_11076_1076), Ta1071_1071), E_b1077_1077)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1078_1078), 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)), L_b1079_1079), Va_11076_1076), hAPP(list(char), option(val), Lb1075_1075, Va_11076_1076))))))))), ! [X_b1080_1080, X_a1081_1081, M1082_1082, N1083_1083, K1084_1084] :  ((=(hAPP(X_b1080_1080, option(X_a1081_1081), hAPP(fun(X_b1080_1080, option(X_a1081_1081)), fun(X_b1080_1080, option(X_a1081_1081)), hAPP(fun(X_b1080_1080, option(X_a1081_1081)), fun(fun(X_b1080_1080, option(X_a1081_1081)), fun(X_b1080_1080, option(X_a1081_1081))), map_add(X_b1080_1080, X_a1081_1081), M1082_1082), N1083_1083), K1084_1084), none(X_a1081_1081)) <=> (=(hAPP(X_b1080_1080, option(X_a1081_1081), N1083_1083, K1084_1084), none(X_a1081_1081)) & =(hAPP(X_b1080_1080, option(X_a1081_1081), M1082_1082, K1084_1084), none(X_a1081_1081))))), ! [X_a1085_1085, X_b1086_1086, X_21087_1087, X_11088_1088] :  (=(hAPP(X_a1085_1085, option(X_b1086_1086), hAPP(option(X_b1086_1086), fun(X_a1085_1085, option(X_b1086_1086)), hAPP(X_a1085_1085, fun(option(X_b1086_1086), fun(X_a1085_1085, option(X_b1086_1086))), hAPP(fun(X_a1085_1085, option(X_b1086_1086)), fun(X_a1085_1085, fun(option(X_b1086_1086), fun(X_a1085_1085, option(X_b1086_1086)))), fun_upd(X_a1085_1085, option(X_b1086_1086)), hAPP(option(X_b1086_1086), fun(X_a1085_1085, option(X_b1086_1086)), combk(option(X_b1086_1086), X_a1085_1085), none(X_b1086_1086))), X_21087_1087), none(X_b1086_1086)), X_11088_1088), none(X_b1086_1086))), ! [X_a1089_1089, X_b1090_1090, M1091_1091] :  (=(hAPP(fun(X_a1089_1089, option(X_b1090_1090)), fun(X_a1089_1089, option(X_b1090_1090)), hAPP(fun(X_a1089_1089, option(X_b1090_1090)), fun(fun(X_a1089_1089, option(X_b1090_1090)), fun(X_a1089_1089, option(X_b1090_1090))), map_add(X_a1089_1089, X_b1090_1090), M1091_1091), hAPP(option(X_b1090_1090), fun(X_a1089_1089, option(X_b1090_1090)), combk(option(X_b1090_1090), X_a1089_1089), none(X_b1090_1090))), ti(fun(X_a1089_1089, option(X_b1090_1090)), M1091_1091))), ! [X_a1092_1092, X_b1093_1093, M1094_1094] :  (=(hAPP(fun(X_a1092_1092, option(X_b1093_1093)), fun(X_a1092_1092, option(X_b1093_1093)), hAPP(fun(X_a1092_1092, option(X_b1093_1093)), fun(fun(X_a1092_1092, option(X_b1093_1093)), fun(X_a1092_1092, option(X_b1093_1093))), map_add(X_a1092_1092, X_b1093_1093), hAPP(option(X_b1093_1093), fun(X_a1092_1092, option(X_b1093_1093)), combk(option(X_b1093_1093), X_a1092_1092), none(X_b1093_1093))), M1094_1094), ti(fun(X_a1092_1092, option(X_b1093_1093)), M1094_1094))), ! [Pa1095_1095, Va1096_1096, E_21097_1097, S_21098_1098] :  (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, Pa1095_1095), 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)), Va1096_1096)), E_21097_1097)), S_21098_1098), E_21097_1097), S_21098_1098))), ! [X_a1099_1099, X_b1100_1100, T_51101_1101, K1102_1102, X_21103_1103] :  (~! [X_11104_1104] :  (=(hAPP(X_a1099_1099, option(X_b1100_1100), hAPP(option(X_b1100_1100), fun(X_a1099_1099, option(X_b1100_1100)), hAPP(X_a1099_1099, fun(option(X_b1100_1100), fun(X_a1099_1099, option(X_b1100_1100))), hAPP(fun(X_a1099_1099, option(X_b1100_1100)), fun(X_a1099_1099, fun(option(X_b1100_1100), fun(X_a1099_1099, option(X_b1100_1100)))), fun_upd(X_a1099_1099, option(X_b1100_1100)), T_51101_1101), K1102_1102), hAPP(X_b1100_1100, option(X_b1100_1100), some(X_b1100_1100), X_21103_1103)), X_11104_1104), none(X_b1100_1100)))), ! [Pa1105_1105, Va_11106_1106, Ta1107_1107, U1108_1108, S_21109_1109] :  (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, Pa1105_1105), 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)), Va_11106_1106), Ta1107_1107), hAPP(val, exp(list(char)), val_1(list(char)), U1108_1108))), S_21109_1109), hAPP(val, exp(list(char)), val_1(list(char)), U1108_1108)), S_21109_1109))), ! [X_a1110_1110, H_b1111_1111, Pa1112_1112, Hb1113_1113, Obj1114_1114] :  ((hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1110_1110)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1110_1110), Pa1112_1112), Hb1113_1113), Obj1114_1114)) => (hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb1113_1113), H_b1111_1111)) => hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1110_1110)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1110_1110), Pa1112_1112), H_b1111_1111), Obj1114_1114))))), ! [X_b1115_1115, X_a1116_1116, M1117_1117, N1118_1118, K1119_1119, X_21120_1120] :  ((=(hAPP(X_b1115_1115, option(X_a1116_1116), hAPP(fun(X_b1115_1115, option(X_a1116_1116)), fun(X_b1115_1115, option(X_a1116_1116)), hAPP(fun(X_b1115_1115, option(X_a1116_1116)), fun(fun(X_b1115_1115, option(X_a1116_1116)), fun(X_b1115_1115, option(X_a1116_1116))), map_add(X_b1115_1115, X_a1116_1116), M1117_1117), N1118_1118), K1119_1119), hAPP(X_a1116_1116, option(X_a1116_1116), some(X_a1116_1116), X_21120_1120)) => (=(hAPP(X_b1115_1115, option(X_a1116_1116), N1118_1118, K1119_1119), hAPP(X_a1116_1116, option(X_a1116_1116), some(X_a1116_1116), X_21120_1120)) | (=(hAPP(X_b1115_1115, option(X_a1116_1116), N1118_1118, K1119_1119), none(X_a1116_1116)) & =(hAPP(X_b1115_1115, option(X_a1116_1116), M1117_1117, K1119_1119), hAPP(X_a1116_1116, option(X_a1116_1116), some(X_a1116_1116), X_21120_1120)))))), ! [X_b1121_1121, X_a1122_1122, M1123_1123, N1124_1124, K1125_1125, X_21126_1126] :  ((=(hAPP(X_b1121_1121, option(X_a1122_1122), hAPP(fun(X_b1121_1121, option(X_a1122_1122)), fun(X_b1121_1121, option(X_a1122_1122)), hAPP(fun(X_b1121_1121, option(X_a1122_1122)), fun(fun(X_b1121_1121, option(X_a1122_1122)), fun(X_b1121_1121, option(X_a1122_1122))), map_add(X_b1121_1121, X_a1122_1122), M1123_1123), N1124_1124), K1125_1125), hAPP(X_a1122_1122, option(X_a1122_1122), some(X_a1122_1122), X_21126_1126)) <=> (=(hAPP(X_b1121_1121, option(X_a1122_1122), N1124_1124, K1125_1125), hAPP(X_a1122_1122, option(X_a1122_1122), some(X_a1122_1122), X_21126_1126)) | (=(hAPP(X_b1121_1121, option(X_a1122_1122), N1124_1124, K1125_1125), none(X_a1122_1122)) & =(hAPP(X_b1121_1121, option(X_a1122_1122), M1123_1123, K1125_1125), hAPP(X_a1122_1122, option(X_a1122_1122), some(X_a1122_1122), X_21126_1126)))))), ! [E_21127_1127, Eb1128_1128, S_21129_1129, E_b1130_1130, S1131_1131, Pa1132_1132] :  ((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)))), Eb1128_1128), S_21129_1129)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1130_1130), S1131_1131))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1132_1132)))) => 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)), Eb1128_1128), E_21127_1127)), S_21129_1129)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), E_b1130_1130), E_21127_1127)), S1131_1131))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1132_1132)))))), ! [Va_11133_1133, Eb1134_1134, S_21135_1135, E_b1136_1136, S1137_1137, Pa1138_1138] :  ((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)))), Eb1134_1134), S_21135_1135)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1136_1136), S1137_1137))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1138_1138)))) => 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)), Va_11133_1133), Eb1134_1134)), S_21135_1135)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_11133_1133), E_b1136_1136)), S1137_1137))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1138_1138)))))), ! [Ta1139_1139, Va1140_1140, Pa1141_1141, Eb1142_1142, Hb1143_1143, Lb1144_1144, Va_11145_1145, E_b1146_1146, H_b1147_1147, L_b1148_1148] :  ((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, Pa1141_1141), Eb1142_1142), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1143_1143), 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)), Lb1144_1144), Va_11145_1145), none(val)))), E_b1146_1146), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1147_1147), L_b1148_1148))) => (=(hAPP(list(char), option(val), L_b1148_1148, Va_11145_1145), hAPP(val, option(val), some(val), Va1140_1140)) => (~hBOOL(hAPP(exp(list(char)), bool, hAPP(list(char), fun(exp(list(char)), bool), assigned, Va_11145_1145), Eb1142_1142)) => 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, Pa1141_1141), 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)), Va_11145_1145), Ta1139_1139), Eb1142_1142)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1143_1143), Lb1144_1144)), 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)), Va_11145_1145), Ta1139_1139), 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)), Va_11145_1145), hAPP(val, exp(list(char)), val_1(list(char)), Va1140_1140))), E_b1146_1146))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1147_1147), 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)), L_b1148_1148), Va_11145_1145), hAPP(list(char), option(val), Lb1144_1144, Va_11145_1145))))))))), ! [E_21149_1149, E_2_11150_1150, S_2_11151_1151, E_11152_1152, S_01153_1153, V_11154_1154, S_11155_1155, Pa1156_1156] :  ((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)))), E_11152_1152), S_01153_1153)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), V_11154_1154)), S_11155_1155))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1156_1156)))) => (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)))), E_21149_1149), S_11155_1155)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_2_11150_1150), S_2_11151_1151))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1156_1156)))) => 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)), E_11152_1152), E_21149_1149)), S_01153_1153)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_2_11150_1150), S_2_11151_1151))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1156_1156))))))), ! [Pa1157_1157, X_11158_1158, Xa1159_1159, Xb_11160_1160, Xc1161_1161] :  ((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, Pa1157_1157), X_11158_1158), Xa1159_1159), Xb_11160_1160), Xc1161_1161)) <=> 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)))), X_11158_1158), Xa1159_1159)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), Xb_11160_1160), Xc1161_1161))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1157_1157))))), ! [X_a1162_1162, A_41163_1163, Obj1164_1164, Pa1165_1165, Hb1166_1166] :  ((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, X_a1162_1162)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hconf(X_a1162_1162), Pa1165_1165), Hb1166_1166)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1166_1166, A_41163_1163), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Obj1164_1164)) => hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1162_1162)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1162_1162), Pa1165_1165), Hb1166_1166), Obj1164_1164))))), ! [Pa1167_1167, Va_11168_1168, Ta1169_1169, Va1170_1170, U1171_1171, S_21172_1172] :  (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, Pa1167_1167), 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)), Va_11168_1168), Ta1169_1169), 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)), Va_11168_1168), hAPP(val, exp(list(char)), val_1(list(char)), Va1170_1170))), hAPP(val, exp(list(char)), val_1(list(char)), U1171_1171)))), S_21172_1172), hAPP(val, exp(list(char)), val_1(list(char)), U1171_1171)), S_21172_1172))), ! [Ta1173_1173, Eb1174_1174, Hb1175_1175, Lb1176_1176, Va_11177_1177, E_b1178_1178, H_b1179_1179, L_b1180_1180, Pa1181_1181] :  ((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)))), Eb1174_1174), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1175_1175), 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)), Lb1176_1176), Va_11177_1177), 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)))), E_b1178_1178), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1179_1179), L_b1180_1180)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1181_1181))) => (=(hAPP(list(char), option(val), L_b1180_1180, Va_11177_1177), none(val)) => (~hBOOL(hAPP(exp(list(char)), bool, hAPP(list(char), fun(exp(list(char)), bool), assigned, Va_11177_1177), Eb1174_1174)) => 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)), Va_11177_1177), Ta1173_1173), Eb1174_1174)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1175_1175), Lb1176_1176))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_11177_1177), Ta1173_1173), E_b1178_1178)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1179_1179), 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)), L_b1180_1180), Va_11177_1177), hAPP(list(char), option(val), Lb1176_1176, Va_11177_1177)))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1181_1181))))))), ! [L_0_11182_1182, Eb1183_1183, Hb1184_1184, Lb1185_1185, E_b1186_1186, H_b1187_1187, L_b1188_1188, Pa1189_1189] :  ((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)))), Eb1183_1183), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1184_1184), Lb1185_1185))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1186_1186), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1187_1187), L_b1188_1188)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1189_1189)))) => 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)))), Eb1183_1183), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1184_1184), hAPP(fun(list(char), option(val)), fun(list(char), option(val)), hAPP(fun(list(char), option(val)), fun(fun(list(char), option(val)), fun(list(char), option(val))), map_add(list(char), val), L_0_11182_1182), Lb1185_1185)))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1186_1186), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1187_1187), hAPP(fun(list(char), option(val)), fun(list(char), option(val)), hAPP(fun(list(char), option(val)), fun(fun(list(char), option(val)), fun(list(char), option(val))), map_add(list(char), val), L_0_11182_1182), L_b1188_1188))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1189_1189)))))), ! [X_a1190_1190, Fs_21191_1191, A_41192_1192, C_11193_1193, Fs_11194_1194, Pa1195_1195, Hb1196_1196, Obj1197_1197] :  ((hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1190_1190)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1190_1190), Pa1195_1195), Hb1196_1196), Obj1197_1197)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1196_1196, A_41192_1192), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11193_1193), Fs_11194_1194))) => hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1190_1190)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1190_1190), Pa1195_1195), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1196_1196), A_41192_1192), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11193_1193), Fs_21191_1191)))), Obj1197_1197))))), ! [Pa1198_1198, Hb1199_1199, Ea1200_1200, Va1201_1201, Eb1202_1202, Ta1203_1203] :  ((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, Pa1198_1198), Hb1199_1199), Ea1200_1200), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va1201_1201), Eb1202_1202)), Ta1203_1203)) => ~(=(Ta1203_1203, void) => ! [T_11204_1204] :  ((=(hAPP(list(char), option(ty), Ea1200_1200, Va1201_1201), hAPP(ty, option(ty), some(ty), T_11204_1204)) => ! [T_41205_1205] :  ((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, Pa1198_1198), Hb1199_1199), Ea1200_1200), Eb1202_1202), T_41205_1205)) => ~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)))), Pa1198_1198), T_41205_1205), T_11204_1204))))))))), ! [Ta1206_1206, Eb1207_1207, Hb1208_1208, Lb1209_1209, Va_11210_1210, Va1211_1211, E_b1212_1212, H_b1213_1213, L_b1214_1214, Pa1215_1215] :  ((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)))), Eb1207_1207), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1208_1208), 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)), Lb1209_1209), Va_11210_1210), hAPP(val, option(val), some(val), Va1211_1211))))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1212_1212), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1213_1213), L_b1214_1214)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1215_1215)))) => 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)), Va_11210_1210), Ta1206_1206), 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)), Va_11210_1210), hAPP(val, exp(list(char)), val_1(list(char)), Va1211_1211))), Eb1207_1207))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1208_1208), Lb1209_1209))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_11210_1210), Ta1206_1206), 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)), Va_11210_1210), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(option(val), val, the(val), hAPP(list(char), option(val), L_b1214_1214, Va_11210_1210))))), E_b1212_1212))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1213_1213), 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)), L_b1214_1214), Va_11210_1210), hAPP(list(char), option(val), Lb1209_1209, Va_11210_1210)))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1215_1215)))))), ! [Ta1216_1216, Eb1217_1217, Hb1218_1218, Lb1219_1219, Va_11220_1220, Va1221_1221, E_b1222_1222, H_b1223_1223, L_b1224_1224, Pa1225_1225] :  ((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)))), Eb1217_1217), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1218_1218), 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)), Lb1219_1219), Va_11220_1220), hAPP(val, option(val), some(val), Va1221_1221))))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1222_1222), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1223_1223), L_b1224_1224)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1225_1225)))) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_b1222_1222)) => 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)), Va_11220_1220), Ta1216_1216), 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)), Va_11220_1220), hAPP(val, exp(list(char)), val_1(list(char)), Va1221_1221))), Eb1217_1217))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1218_1218), Lb1219_1219))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1222_1222), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1223_1223), 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)), L_b1224_1224), Va_11220_1220), hAPP(list(char), option(val), Lb1219_1219, Va_11220_1220)))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1225_1225))))))), ! [X_a1230_1230, A_41231_1231, R_11232_1232] :  (hBOOL(hAPP(fun(product_prod(X_a1230_1230, X_a1230_1230), bool), bool, hAPP(product_prod(X_a1230_1230, X_a1230_1230), fun(fun(product_prod(X_a1230_1230, X_a1230_1230), bool), bool), member(product_prod(X_a1230_1230, X_a1230_1230)), hAPP(X_a1230_1230, product_prod(X_a1230_1230, X_a1230_1230), hAPP(X_a1230_1230, fun(X_a1230_1230, product_prod(X_a1230_1230, X_a1230_1230)), product_Pair(X_a1230_1230, X_a1230_1230), A_41231_1231), A_41231_1231)), hAPP(fun(product_prod(X_a1230_1230, X_a1230_1230), bool), fun(product_prod(X_a1230_1230, X_a1230_1230), bool), transitive_rtrancl(X_a1230_1230), R_11232_1232)))), ! [Ta1233_1233, H_0_11234_1234, L_0_11235_1235, Va_11236_1236, E_01237_1237, S_01238_1238, E_21239_1239, H_21240_1240, L_21241_1241, Pa1242_1242] :  ((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)))), E_01237_1237), S_01238_1238)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_21239_1239), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_21240_1240), L_21241_1241)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1242_1242)))) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_21239_1239)) => (=(S_01238_1238, hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_0_11234_1234), 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)), L_0_11235_1235), Va_11236_1236), none(val)))) => 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)), Va_11236_1236), Ta1233_1233), E_01237_1237)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_0_11234_1234), L_0_11235_1235))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_21239_1239), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_21240_1240), 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)), L_21241_1241), Va_11236_1236), hAPP(list(char), option(val), L_0_11235_1235, Va_11236_1236)))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1242_1242)))))))), ! [X_a1243_1243, Fs_11244_1244, Hb1245_1245, Va1246_1246, Pa1247_1247, C_11248_1248, F_11249_1249, Ta1250_1250, D1251_1251] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a1243_1243)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), has_field(X_a1243_1243), Pa1247_1247), C_11248_1248), F_11249_1249), Ta1250_1250), D1251_1251)) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a1243_1243)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a1243_1243), Pa1247_1247), Hb1245_1245), Va1246_1246), Ta1250_1250)) => (hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1243_1243)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1243_1243), Pa1247_1247), Hb1245_1245), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11248_1248), Fs_11244_1244))) => hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1243_1243)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1243_1243), Pa1247_1247), Hb1245_1245), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11248_1248), hAPP(option(val), fun(product_prod(list(char), list(char)), option(val)), hAPP(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val))), hAPP(fun(product_prod(list(char), list(char)), option(val)), fun(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val)))), fun_upd(product_prod(list(char), list(char)), option(val)), Fs_11244_1244), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11249_1249), D1251_1251)), hAPP(val, option(val), some(val), Va1246_1246))))))))), ! [X_a1252_1252, P_11253_1253, R_11254_1254] :  ((hBOOL(hAPP(fun(product_prod(X_a1252_1252, X_a1252_1252), bool), bool, hAPP(product_prod(X_a1252_1252, X_a1252_1252), fun(fun(product_prod(X_a1252_1252, X_a1252_1252), bool), bool), member(product_prod(X_a1252_1252, X_a1252_1252)), P_11253_1253), R_11254_1254)) => hBOOL(hAPP(fun(product_prod(X_a1252_1252, X_a1252_1252), bool), bool, hAPP(product_prod(X_a1252_1252, X_a1252_1252), fun(fun(product_prod(X_a1252_1252, X_a1252_1252), bool), bool), member(product_prod(X_a1252_1252, X_a1252_1252)), P_11253_1253), hAPP(fun(product_prod(X_a1252_1252, X_a1252_1252), bool), fun(product_prod(X_a1252_1252, X_a1252_1252), bool), transitive_rtrancl(X_a1252_1252), R_11254_1254))))), ! [X_a1255_1255, X1256_1256] :  (=(hAPP(option(X_a1255_1255), X_a1255_1255, the(X_a1255_1255), hAPP(X_a1255_1255, option(X_a1255_1255), some(X_a1255_1255), X1256_1256)), ti(X_a1255_1255, X1256_1256))), ! [X_21257_1257, Hb1258_1258, A_41259_1259] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1258_1258, A_41259_1259), none(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb1258_1258), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1258_1258), A_41259_1259), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), X_21257_1257)))))), ! [X_a1260_1260, R_11261_1261] :  (=(hAPP(fun(product_prod(X_a1260_1260, X_a1260_1260), bool), fun(product_prod(X_a1260_1260, X_a1260_1260), bool), transitive_rtrancl(X_a1260_1260), hAPP(fun(product_prod(X_a1260_1260, X_a1260_1260), bool), fun(product_prod(X_a1260_1260, X_a1260_1260), bool), transitive_rtrancl(X_a1260_1260), R_11261_1261)), hAPP(fun(product_prod(X_a1260_1260, X_a1260_1260), bool), fun(product_prod(X_a1260_1260, X_a1260_1260), bool), transitive_rtrancl(X_a1260_1260), R_11261_1261))), ! [X_a1262_1262, X_21263_1263, A_41264_1264, Pa1265_1265, Hb1266_1266, Obj1267_1267] :  ((hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1262_1262)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1262_1262), Pa1265_1265), Hb1266_1266), Obj1267_1267)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1266_1266, A_41264_1264), none(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))) => hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1262_1262)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1262_1262), Pa1265_1265), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1266_1266), A_41264_1264), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), X_21263_1263))), Obj1267_1267))))), ! [X_a1268_1268, Obj1269_1269, A_41270_1270, Pa1271_1271, Hb1272_1272] :  ((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, X_a1268_1268)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hconf(X_a1268_1268), Pa1271_1271), Hb1272_1272)) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1272_1272, A_41270_1270), none(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))) => (hBOOL(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(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, X_a1268_1268)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), bool)), oconf(X_a1268_1268), Pa1271_1271), Hb1272_1272), Obj1269_1269)) => 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, X_a1268_1268)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hconf(X_a1268_1268), Pa1271_1271), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1272_1272), A_41270_1270), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Obj1269_1269)))))))), ! [X_a1273_1273, C1274_1274, A_41275_1275, B1276_1276, R_11277_1277] :  ((hBOOL(hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool, hAPP(product_prod(X_a1273_1273, X_a1273_1273), fun(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool), member(product_prod(X_a1273_1273, X_a1273_1273)), hAPP(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273), hAPP(X_a1273_1273, fun(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273)), product_Pair(X_a1273_1273, X_a1273_1273), A_41275_1275), B1276_1276)), hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), fun(product_prod(X_a1273_1273, X_a1273_1273), bool), transitive_rtrancl(X_a1273_1273), R_11277_1277))) => (hBOOL(hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool, hAPP(product_prod(X_a1273_1273, X_a1273_1273), fun(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool), member(product_prod(X_a1273_1273, X_a1273_1273)), hAPP(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273), hAPP(X_a1273_1273, fun(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273)), product_Pair(X_a1273_1273, X_a1273_1273), B1276_1276), C1274_1274)), hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), fun(product_prod(X_a1273_1273, X_a1273_1273), bool), transitive_rtrancl(X_a1273_1273), R_11277_1277))) => hBOOL(hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool, hAPP(product_prod(X_a1273_1273, X_a1273_1273), fun(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), bool), member(product_prod(X_a1273_1273, X_a1273_1273)), hAPP(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273), hAPP(X_a1273_1273, fun(X_a1273_1273, product_prod(X_a1273_1273, X_a1273_1273)), product_Pair(X_a1273_1273, X_a1273_1273), A_41275_1275), C1274_1274)), hAPP(fun(product_prod(X_a1273_1273, X_a1273_1273), bool), fun(product_prod(X_a1273_1273, X_a1273_1273), bool), transitive_rtrancl(X_a1273_1273), R_11277_1277)))))), ! [X_a1278_1278, C1279_1279, A_41280_1280, B1281_1281, R_11282_1282] :  ((hBOOL(hAPP(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool, hAPP(product_prod(X_a1278_1278, X_a1278_1278), fun(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool), member(product_prod(X_a1278_1278, X_a1278_1278)), hAPP(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278), hAPP(X_a1278_1278, fun(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278)), product_Pair(X_a1278_1278, X_a1278_1278), A_41280_1280), B1281_1281)), hAPP(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), fun(product_prod(X_a1278_1278, X_a1278_1278), bool), transitive_rtrancl(X_a1278_1278), R_11282_1282))) => (hBOOL(hAPP(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool, hAPP(product_prod(X_a1278_1278, X_a1278_1278), fun(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool), member(product_prod(X_a1278_1278, X_a1278_1278)), hAPP(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278), hAPP(X_a1278_1278, fun(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278)), product_Pair(X_a1278_1278, X_a1278_1278), B1281_1281), C1279_1279)), R_11282_1282)) => hBOOL(hAPP(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool, hAPP(product_prod(X_a1278_1278, X_a1278_1278), fun(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), bool), member(product_prod(X_a1278_1278, X_a1278_1278)), hAPP(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278), hAPP(X_a1278_1278, fun(X_a1278_1278, product_prod(X_a1278_1278, X_a1278_1278)), product_Pair(X_a1278_1278, X_a1278_1278), A_41280_1280), C1279_1279)), hAPP(fun(product_prod(X_a1278_1278, X_a1278_1278), bool), fun(product_prod(X_a1278_1278, X_a1278_1278), bool), transitive_rtrancl(X_a1278_1278), R_11282_1282)))))), ! [X_a1283_1283, C1284_1284, A_41285_1285, B1286_1286, R_11287_1287] :  ((hBOOL(hAPP(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool, hAPP(product_prod(X_a1283_1283, X_a1283_1283), fun(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool), member(product_prod(X_a1283_1283, X_a1283_1283)), hAPP(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283), hAPP(X_a1283_1283, fun(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283)), product_Pair(X_a1283_1283, X_a1283_1283), A_41285_1285), B1286_1286)), R_11287_1287)) => (hBOOL(hAPP(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool, hAPP(product_prod(X_a1283_1283, X_a1283_1283), fun(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool), member(product_prod(X_a1283_1283, X_a1283_1283)), hAPP(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283), hAPP(X_a1283_1283, fun(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283)), product_Pair(X_a1283_1283, X_a1283_1283), B1286_1286), C1284_1284)), hAPP(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), fun(product_prod(X_a1283_1283, X_a1283_1283), bool), transitive_rtrancl(X_a1283_1283), R_11287_1287))) => hBOOL(hAPP(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool, hAPP(product_prod(X_a1283_1283, X_a1283_1283), fun(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), bool), member(product_prod(X_a1283_1283, X_a1283_1283)), hAPP(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283), hAPP(X_a1283_1283, fun(X_a1283_1283, product_prod(X_a1283_1283, X_a1283_1283)), product_Pair(X_a1283_1283, X_a1283_1283), A_41285_1285), C1284_1284)), hAPP(fun(product_prod(X_a1283_1283, X_a1283_1283), bool), fun(product_prod(X_a1283_1283, X_a1283_1283), bool), transitive_rtrancl(X_a1283_1283), R_11287_1287)))))), ! [X_a1288_1288, X_b1289_1289, Xa_11290_1290, Xb1291_1291, Za1292_1292, Zb1293_1293, R_11294_1294] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool, hAPP(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), fun(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool), member(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), hAPP(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(product_prod(X_a1288_1288, X_b1289_1289), fun(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), product_Pair(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Xa_11290_1290), Xb1291_1291)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Za1292_1292), Zb1293_1293))), hAPP(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), transitive_rtrancl(product_prod(X_a1288_1288, X_b1289_1289)), R_11294_1294))) => (~=(hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Xa_11290_1290), Xb1291_1291), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Za1292_1292), Zb1293_1293)) => ~! [A_31295_1295, B_11296_1296] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool, hAPP(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), fun(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool), member(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), hAPP(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(product_prod(X_a1288_1288, X_b1289_1289), fun(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), product_Pair(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Xa_11290_1290), Xb1291_1291)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), A_31295_1295), B_11296_1296))), R_11294_1294)) => ~hBOOL(hAPP(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool, hAPP(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), fun(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), bool), member(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), hAPP(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(product_prod(X_a1288_1288, X_b1289_1289), fun(product_prod(X_a1288_1288, X_b1289_1289), product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289))), product_Pair(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), A_31295_1295), B_11296_1296)), hAPP(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289), hAPP(X_a1288_1288, fun(X_b1289_1289, product_prod(X_a1288_1288, X_b1289_1289)), product_Pair(X_a1288_1288, X_b1289_1289), Za1292_1292), Zb1293_1293))), hAPP(fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), fun(product_prod(product_prod(X_a1288_1288, X_b1289_1289), product_prod(X_a1288_1288, X_b1289_1289)), bool), transitive_rtrancl(product_prod(X_a1288_1288, X_b1289_1289)), R_11294_1294)))))))), ! [X_a1297_1297, X_b1298_1298, Pa1299_1299, Ax1300_1300, Ay1301_1301, Bx1302_1302, By1303_1303, R_11304_1304] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool, hAPP(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), fun(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool), member(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), hAPP(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(product_prod(X_a1297_1297, X_b1298_1298), fun(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), product_Pair(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), Ax1300_1300), Ay1301_1301)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), Bx1302_1302), By1303_1303))), hAPP(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), transitive_rtrancl(product_prod(X_a1297_1297, X_b1298_1298)), R_11304_1304))) => (hBOOL(hAPP(X_b1298_1298, bool, hAPP(X_a1297_1297, fun(X_b1298_1298, bool), Pa1299_1299, Bx1302_1302), By1303_1303)) => (! [A_31305_1305, B_11306_1306, Aa1307_1307, Ba1308_1308] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool, hAPP(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), fun(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool), member(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), hAPP(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(product_prod(X_a1297_1297, X_b1298_1298), fun(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), product_Pair(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), A_31305_1305), B_11306_1306)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), Aa1307_1307), Ba1308_1308))), R_11304_1304)) => (hBOOL(hAPP(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool, hAPP(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), fun(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), bool), member(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), hAPP(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(product_prod(X_a1297_1297, X_b1298_1298), fun(product_prod(X_a1297_1297, X_b1298_1298), product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298))), product_Pair(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), Aa1307_1307), Ba1308_1308)), hAPP(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298), hAPP(X_a1297_1297, fun(X_b1298_1298, product_prod(X_a1297_1297, X_b1298_1298)), product_Pair(X_a1297_1297, X_b1298_1298), Bx1302_1302), By1303_1303))), hAPP(fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), fun(product_prod(product_prod(X_a1297_1297, X_b1298_1298), product_prod(X_a1297_1297, X_b1298_1298)), bool), transitive_rtrancl(product_prod(X_a1297_1297, X_b1298_1298)), R_11304_1304))) => (hBOOL(hAPP(X_b1298_1298, bool, hAPP(X_a1297_1297, fun(X_b1298_1298, bool), Pa1299_1299, Aa1307_1307), Ba1308_1308)) => hBOOL(hAPP(X_b1298_1298, bool, hAPP(X_a1297_1297, fun(X_b1298_1298, bool), Pa1299_1299, A_31305_1305), B_11306_1306)))))) => hBOOL(hAPP(X_b1298_1298, bool, hAPP(X_a1297_1297, fun(X_b1298_1298, bool), Pa1299_1299, Ax1300_1300), Ay1301_1301)))))), ! [X_a1309_1309, X_b1310_1310, Pa1311_1311, Ax1312_1312, Ay1313_1313, Bx1314_1314, By1315_1315, R_11316_1316] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool, hAPP(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), fun(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool), member(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), hAPP(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(product_prod(X_a1309_1309, X_b1310_1310), fun(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), product_Pair(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), Ax1312_1312), Ay1313_1313)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), Bx1314_1314), By1315_1315))), hAPP(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), transitive_rtrancl(product_prod(X_a1309_1309, X_b1310_1310)), R_11316_1316))) => (hBOOL(hAPP(X_b1310_1310, bool, hAPP(X_a1309_1309, fun(X_b1310_1310, bool), Pa1311_1311, Ax1312_1312), Ay1313_1313)) => (! [A_31317_1317, B_11318_1318, Aa1319_1319, Ba1320_1320] :  ((hBOOL(hAPP(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool, hAPP(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), fun(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool), member(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), hAPP(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(product_prod(X_a1309_1309, X_b1310_1310), fun(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), product_Pair(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), Ax1312_1312), Ay1313_1313)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), A_31317_1317), B_11318_1318))), hAPP(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), transitive_rtrancl(product_prod(X_a1309_1309, X_b1310_1310)), R_11316_1316))) => (hBOOL(hAPP(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool, hAPP(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), fun(fun(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), bool), bool), member(product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), hAPP(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(product_prod(X_a1309_1309, X_b1310_1310), fun(product_prod(X_a1309_1309, X_b1310_1310), product_prod(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310))), product_Pair(product_prod(X_a1309_1309, X_b1310_1310), product_prod(X_a1309_1309, X_b1310_1310)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), A_31317_1317), B_11318_1318)), hAPP(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310), hAPP(X_a1309_1309, fun(X_b1310_1310, product_prod(X_a1309_1309, X_b1310_1310)), product_Pair(X_a1309_1309, X_b1310_1310), Aa1319_1319), Ba1320_1320))), R_11316_1316)) => (hBOOL(hAPP(X_b1310_1310, bool, hAPP(X_a1309_1309, fun(X_b1310_1310, bool), Pa1311_1311, A_31317_1317), B_11318_1318)) => hBOOL(hAPP(X_b1310_1310, bool, hAPP(X_a1309_1309, fun(X_b1310_1310, bool), Pa1311_1311, Aa1319_1319), Ba1320_1320)))))) => hBOOL(hAPP(X_b1310_1310, bool, hAPP(X_a1309_1309, fun(X_b1310_1310, bool), Pa1311_1311, Bx1314_1314), By1315_1315)))))), ! [Lb1321_1321, Ea1322_1322, Eb1323_1323, Ta1324_1324, Hb1325_1325, Pa1326_1326] :  ((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)))), wwf_J_mdecl), Pa1326_1326)) => (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)))), Pa1326_1326), Hb1325_1325)) => (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, Pa1326_1326), Hb1325_1325), Ea1322_1322), Eb1323_1323), Ta1324_1324)) => (hBOOL(hAPP(option(fun(list(char), bool)), bool, hAPP(exp(list(char)), fun(option(fun(list(char), bool)), bool), d(list(char)), Eb1323_1323), hAPP(fun(list(char), bool), option(fun(list(char), bool)), some(fun(list(char), bool)), hAPP(fun(list(char), option(val)), fun(list(char), bool), dom(list(char), val), Lb1321_1321)))) => (~hBOOL(hAPP(exp(list(char)), bool, final(list(char)), Eb1323_1323)) => ? [E_31327_1327, S_41328_1328] :  (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)))), Eb1323_1323), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1325_1325), Lb1321_1321))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_31327_1327), S_41328_1328))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1326_1326)))))))))), ! [X_a1329_1329, Y1330_1330] :  ((~=(ti(option(X_a1329_1329), Y1330_1330), none(X_a1329_1329)) => ~! [A_31331_1331] :  (~=(ti(option(X_a1329_1329), Y1330_1330), hAPP(X_a1329_1329, option(X_a1329_1329), some(X_a1329_1329), A_31331_1331))))), ! [X_a1332_1332, A_41333_1333, B1334_1334, R_11335_1335] :  ((hBOOL(hAPP(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool, hAPP(product_prod(X_a1332_1332, X_a1332_1332), fun(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool), member(product_prod(X_a1332_1332, X_a1332_1332)), hAPP(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332), hAPP(X_a1332_1332, fun(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332)), product_Pair(X_a1332_1332, X_a1332_1332), A_41333_1333), B1334_1334)), hAPP(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), fun(product_prod(X_a1332_1332, X_a1332_1332), bool), transitive_rtrancl(X_a1332_1332), R_11335_1335))) => (~=(ti(X_a1332_1332, A_41333_1333), ti(X_a1332_1332, B1334_1334)) => ~! [Y_21336_1336] :  ((hBOOL(hAPP(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool, hAPP(product_prod(X_a1332_1332, X_a1332_1332), fun(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool), member(product_prod(X_a1332_1332, X_a1332_1332)), hAPP(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332), hAPP(X_a1332_1332, fun(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332)), product_Pair(X_a1332_1332, X_a1332_1332), A_41333_1333), Y_21336_1336)), hAPP(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), fun(product_prod(X_a1332_1332, X_a1332_1332), bool), transitive_rtrancl(X_a1332_1332), R_11335_1335))) => ~hBOOL(hAPP(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool, hAPP(product_prod(X_a1332_1332, X_a1332_1332), fun(fun(product_prod(X_a1332_1332, X_a1332_1332), bool), bool), member(product_prod(X_a1332_1332, X_a1332_1332)), hAPP(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332), hAPP(X_a1332_1332, fun(X_a1332_1332, product_prod(X_a1332_1332, X_a1332_1332)), product_Pair(X_a1332_1332, X_a1332_1332), Y_21336_1336), B1334_1334)), R_11335_1335))))))), ! [Pa1337_1337] :  ((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), Pa1337_1337)) => 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)))), wwf_J_mdecl), Pa1337_1337)))), ! [P1338_1338, C_31339_1339, Md1340_1340] :  ((hBOOL(hAPP(product_prod(list(char), product_prod(list(ty), product_prod(ty, product_prod(list(list(char)), exp(list(char)))))), bool, hAPP(list(char), fun(product_prod(list(char), product_prod(list(ty), product_prod(ty, product_prod(list(list(char)), exp(list(char)))))), bool), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, P1338_1338), C_31339_1339), Md1340_1340)) => hBOOL(hAPP(product_prod(list(char), product_prod(list(ty), product_prod(ty, product_prod(list(list(char)), exp(list(char)))))), bool, hAPP(list(char), fun(product_prod(list(char), product_prod(list(ty), product_prod(ty, product_prod(list(list(char)), exp(list(char)))))), bool), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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)), wwf_J_mdecl, P1338_1338), C_31339_1339), Md1340_1340)))), ! [X_a1341_1341, Pa1342_1342, A_41343_1343, B1344_1344, R_11345_1345] :  ((hBOOL(hAPP(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool, hAPP(product_prod(X_a1341_1341, X_a1341_1341), fun(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool), member(product_prod(X_a1341_1341, X_a1341_1341)), hAPP(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341), hAPP(X_a1341_1341, fun(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341)), product_Pair(X_a1341_1341, X_a1341_1341), A_41343_1343), B1344_1344)), hAPP(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), fun(product_prod(X_a1341_1341, X_a1341_1341), bool), transitive_rtrancl(X_a1341_1341), R_11345_1345))) => (hBOOL(hAPP(X_a1341_1341, bool, Pa1342_1342, A_41343_1343)) => (! [Y_21346_1346, Z_11347_1347] :  ((hBOOL(hAPP(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool, hAPP(product_prod(X_a1341_1341, X_a1341_1341), fun(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool), member(product_prod(X_a1341_1341, X_a1341_1341)), hAPP(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341), hAPP(X_a1341_1341, fun(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341)), product_Pair(X_a1341_1341, X_a1341_1341), A_41343_1343), Y_21346_1346)), hAPP(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), fun(product_prod(X_a1341_1341, X_a1341_1341), bool), transitive_rtrancl(X_a1341_1341), R_11345_1345))) => (hBOOL(hAPP(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool, hAPP(product_prod(X_a1341_1341, X_a1341_1341), fun(fun(product_prod(X_a1341_1341, X_a1341_1341), bool), bool), member(product_prod(X_a1341_1341, X_a1341_1341)), hAPP(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341), hAPP(X_a1341_1341, fun(X_a1341_1341, product_prod(X_a1341_1341, X_a1341_1341)), product_Pair(X_a1341_1341, X_a1341_1341), Y_21346_1346), Z_11347_1347)), R_11345_1345)) => (hBOOL(hAPP(X_a1341_1341, bool, Pa1342_1342, Y_21346_1346)) => hBOOL(hAPP(X_a1341_1341, bool, Pa1342_1342, Z_11347_1347)))))) => hBOOL(hAPP(X_a1341_1341, bool, Pa1342_1342, B1344_1344)))))), ! [X_a1348_1348, Pa1349_1349, A_41350_1350, B1351_1351, R_11352_1352] :  ((hBOOL(hAPP(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool, hAPP(product_prod(X_a1348_1348, X_a1348_1348), fun(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool), member(product_prod(X_a1348_1348, X_a1348_1348)), hAPP(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348), hAPP(X_a1348_1348, fun(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348)), product_Pair(X_a1348_1348, X_a1348_1348), A_41350_1350), B1351_1351)), hAPP(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), fun(product_prod(X_a1348_1348, X_a1348_1348), bool), transitive_rtrancl(X_a1348_1348), R_11352_1352))) => (hBOOL(hAPP(X_a1348_1348, bool, Pa1349_1349, B1351_1351)) => (! [Y_21353_1353, Z_11354_1354] :  ((hBOOL(hAPP(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool, hAPP(product_prod(X_a1348_1348, X_a1348_1348), fun(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool), member(product_prod(X_a1348_1348, X_a1348_1348)), hAPP(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348), hAPP(X_a1348_1348, fun(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348)), product_Pair(X_a1348_1348, X_a1348_1348), Y_21353_1353), Z_11354_1354)), R_11352_1352)) => (hBOOL(hAPP(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool, hAPP(product_prod(X_a1348_1348, X_a1348_1348), fun(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), bool), member(product_prod(X_a1348_1348, X_a1348_1348)), hAPP(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348), hAPP(X_a1348_1348, fun(X_a1348_1348, product_prod(X_a1348_1348, X_a1348_1348)), product_Pair(X_a1348_1348, X_a1348_1348), Z_11354_1354), B1351_1351)), hAPP(fun(product_prod(X_a1348_1348, X_a1348_1348), bool), fun(product_prod(X_a1348_1348, X_a1348_1348), bool), transitive_rtrancl(X_a1348_1348), R_11352_1352))) => (hBOOL(hAPP(X_a1348_1348, bool, Pa1349_1349, Z_11354_1354)) => hBOOL(hAPP(X_a1348_1348, bool, Pa1349_1349, Y_21353_1353)))))) => hBOOL(hAPP(X_a1348_1348, bool, Pa1349_1349, A_41350_1350)))))), ! [X_a1355_1355, X_21356_1356, Z1357_1357, R_11358_1358] :  ((hBOOL(hAPP(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool, hAPP(product_prod(X_a1355_1355, X_a1355_1355), fun(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool), member(product_prod(X_a1355_1355, X_a1355_1355)), hAPP(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355), hAPP(X_a1355_1355, fun(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355)), product_Pair(X_a1355_1355, X_a1355_1355), X_21356_1356), Z1357_1357)), hAPP(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), fun(product_prod(X_a1355_1355, X_a1355_1355), bool), transitive_rtrancl(X_a1355_1355), R_11358_1358))) => (~=(ti(X_a1355_1355, X_21356_1356), ti(X_a1355_1355, Z1357_1357)) => ~! [Y_21359_1359] :  ((hBOOL(hAPP(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool, hAPP(product_prod(X_a1355_1355, X_a1355_1355), fun(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool), member(product_prod(X_a1355_1355, X_a1355_1355)), hAPP(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355), hAPP(X_a1355_1355, fun(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355)), product_Pair(X_a1355_1355, X_a1355_1355), X_21356_1356), Y_21359_1359)), R_11358_1358)) => ~hBOOL(hAPP(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool, hAPP(product_prod(X_a1355_1355, X_a1355_1355), fun(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), bool), member(product_prod(X_a1355_1355, X_a1355_1355)), hAPP(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355), hAPP(X_a1355_1355, fun(X_a1355_1355, product_prod(X_a1355_1355, X_a1355_1355)), product_Pair(X_a1355_1355, X_a1355_1355), Y_21359_1359), Z1357_1357)), hAPP(fun(product_prod(X_a1355_1355, X_a1355_1355), bool), fun(product_prod(X_a1355_1355, X_a1355_1355), bool), transitive_rtrancl(X_a1355_1355), R_11358_1358)))))))), ! [Eb1360_1360, S_21361_1361, E_b1362_1362, S1363_1363, Pa1364_1364] :  ((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)))), wwf_J_mdecl), Pa1364_1364)) => (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)))), Eb1360_1360), S_21361_1361)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1362_1362), S1363_1363))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1364_1364)))) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_b1362_1362)) => 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)))), eval, Pa1364_1364), Eb1360_1360), S_21361_1361), E_b1362_1362), S1363_1363)))))), ! [Eb1365_1365, S_21366_1366, E_b1367_1367, S1368_1368, Pa1369_1369] :  ((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)))), wwf_J_mdecl), Pa1369_1369)) => (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)))), eval, Pa1369_1369), Eb1365_1365), S_21366_1366), E_b1367_1367), S1368_1368)) <=> (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)))), Eb1365_1365), S_21366_1366)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1367_1367), S1368_1368))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1369_1369)))) & hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_b1367_1367)))))), ! [F_11370_1370, D1371_1371, C_11372_1372, Fs_11373_1373, E_21374_1374, Va1375_1375, H_21376_1376, L_21377_1377, E_11378_1378, S_01379_1379, A_41380_1380, S_11381_1381, Pa1382_1382] :  ((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)))), E_11378_1378), S_01379_1379)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_41380_1380))), S_11381_1381))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1382_1382)))) => (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)))), E_21374_1374), S_11381_1381)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va1375_1375)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_21376_1376), L_21377_1377)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1382_1382)))) => (=(hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11372_1372), Fs_11373_1373)), hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_21376_1376, A_41380_1380)) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_11378_1378), F_11370_1370), D1371_1371), E_21374_1374)), S_01379_1379)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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))), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), H_21376_1376), A_41380_1380), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11372_1372), hAPP(option(val), fun(product_prod(list(char), list(char)), option(val)), hAPP(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val))), hAPP(fun(product_prod(list(char), list(char)), option(val)), fun(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val)))), fun_upd(product_prod(list(char), list(char)), option(val)), Fs_11373_1373), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11370_1370), D1371_1371)), hAPP(val, option(val), some(val), Va1375_1375)))))), L_21377_1377)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1382_1382)))))))), ! [F_11383_1383, D1384_1384, Va1385_1385, Lb1386_1386, Pa1387_1387, Hb1388_1388, A_41389_1389, C_11390_1390, Fs_11391_1391] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1388_1388, A_41389_1389), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11390_1390), Fs_11391_1391))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41389_1389))), F_11383_1383), D1384_1384), hAPP(val, exp(list(char)), val_1(list(char)), Va1385_1385))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1388_1388), Lb1386_1386))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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))), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1388_1388), A_41389_1389), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11390_1390), hAPP(option(val), fun(product_prod(list(char), list(char)), option(val)), hAPP(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val))), hAPP(fun(product_prod(list(char), list(char)), option(val)), fun(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val)))), fun_upd(product_prod(list(char), list(char)), option(val)), Fs_11391_1391), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11383_1383), D1384_1384)), hAPP(val, option(val), some(val), Va1385_1385)))))), Lb1386_1386)))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1387_1387))))), ! [Eb1392_1392, S_21393_1393, E_b1394_1394, S1395_1395, Pa1396_1396] :  ((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)))), wwf_J_mdecl), Pa1396_1396)) => (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)))), eval, Pa1396_1396), Eb1392_1392), S_21393_1393), E_b1394_1394), S1395_1395)) => 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)))), Eb1392_1392), S_21393_1393)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1394_1394), S1395_1395))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1396_1396))))))), ! [X_a1397_1397, Exp1_31398_1398, List1_31399_1399, List2_31400_1400, Exp2_31401_1401, Exp1_21402_1402, List1_21403_1403, List2_21404_1404, Exp2_21405_1405] :  ((=(hAPP(exp(X_a1397_1397), exp(X_a1397_1397), hAPP(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397)), hAPP(list(char), fun(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397))), hAPP(exp(X_a1397_1397), fun(list(char), fun(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397)))), fAss(X_a1397_1397), Exp1_31398_1398), List1_31399_1399), List2_31400_1400), Exp2_31401_1401), hAPP(exp(X_a1397_1397), exp(X_a1397_1397), hAPP(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397)), hAPP(list(char), fun(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397))), hAPP(exp(X_a1397_1397), fun(list(char), fun(list(char), fun(exp(X_a1397_1397), exp(X_a1397_1397)))), fAss(X_a1397_1397), Exp1_21402_1402), List1_21403_1403), List2_21404_1404), Exp2_21405_1405)) <=> (((=(Exp1_31398_1398, Exp1_21402_1402) & =(List1_31399_1399, List1_21403_1403)) & =(List2_31400_1400, List2_21404_1404)) & =(Exp2_31401_1401, Exp2_21405_1405)))), ! [F_11406_1406, D1407_1407, E_21408_1408, Pa1409_1409, Eb1410_1410, S_21411_1411, E_b1412_1412, S1413_1413] :  ((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, Pa1409_1409), Eb1410_1410), S_21411_1411), E_b1412_1412), S1413_1413)) => 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, Pa1409_1409), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), Eb1410_1410), F_11406_1406), D1407_1407), E_21408_1408)), S_21411_1411), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_b1412_1412), F_11406_1406), D1407_1407), E_21408_1408)), S1413_1413)))), ! [X_a1414_1414, Val1415_1415, Exp1_11416_1416, List1_11417_1417, List2_11418_1418, Exp2_11419_1419] :  (~=(hAPP(val, exp(X_a1414_1414), val_1(X_a1414_1414), Val1415_1415), hAPP(exp(X_a1414_1414), exp(X_a1414_1414), hAPP(list(char), fun(exp(X_a1414_1414), exp(X_a1414_1414)), hAPP(list(char), fun(list(char), fun(exp(X_a1414_1414), exp(X_a1414_1414))), hAPP(exp(X_a1414_1414), fun(list(char), fun(list(char), fun(exp(X_a1414_1414), exp(X_a1414_1414)))), fAss(X_a1414_1414), Exp1_11416_1416), List1_11417_1417), List2_11418_1418), Exp2_11419_1419))), ! [X_a1420_1420, Exp1_11421_1421, List1_11422_1422, List2_11423_1423, Exp2_11424_1424, Val1425_1425] :  (~=(hAPP(exp(X_a1420_1420), exp(X_a1420_1420), hAPP(list(char), fun(exp(X_a1420_1420), exp(X_a1420_1420)), hAPP(list(char), fun(list(char), fun(exp(X_a1420_1420), exp(X_a1420_1420))), hAPP(exp(X_a1420_1420), fun(list(char), fun(list(char), fun(exp(X_a1420_1420), exp(X_a1420_1420)))), fAss(X_a1420_1420), Exp1_11421_1421), List1_11422_1422), List2_11423_1423), Exp2_11424_1424), hAPP(val, exp(X_a1420_1420), val_1(X_a1420_1420), Val1425_1425))), ! [X_a1426_1426, Exp1_11427_1427, List1_11428_1428, List2_11429_1429, Exp2_11430_1430, A_21431_1431, Exp1432_1432] :  (~=(hAPP(exp(X_a1426_1426), exp(X_a1426_1426), hAPP(list(char), fun(exp(X_a1426_1426), exp(X_a1426_1426)), hAPP(list(char), fun(list(char), fun(exp(X_a1426_1426), exp(X_a1426_1426))), hAPP(exp(X_a1426_1426), fun(list(char), fun(list(char), fun(exp(X_a1426_1426), exp(X_a1426_1426)))), fAss(X_a1426_1426), Exp1_11427_1427), List1_11428_1428), List2_11429_1429), Exp2_11430_1430), hAPP(exp(X_a1426_1426), exp(X_a1426_1426), hAPP(X_a1426_1426, fun(exp(X_a1426_1426), exp(X_a1426_1426)), lAss(X_a1426_1426), A_21431_1431), Exp1432_1432))), ! [X_a1433_1433, Exp11434_1434, List11435_1435, List21436_1436, Exp21437_1437, Exp1_11438_1438, Exp2_11439_1439] :  (~=(hAPP(exp(X_a1433_1433), exp(X_a1433_1433), hAPP(list(char), fun(exp(X_a1433_1433), exp(X_a1433_1433)), hAPP(list(char), fun(list(char), fun(exp(X_a1433_1433), exp(X_a1433_1433))), hAPP(exp(X_a1433_1433), fun(list(char), fun(list(char), fun(exp(X_a1433_1433), exp(X_a1433_1433)))), fAss(X_a1433_1433), Exp11434_1434), List11435_1435), List21436_1436), Exp21437_1437), hAPP(exp(X_a1433_1433), exp(X_a1433_1433), hAPP(exp(X_a1433_1433), fun(exp(X_a1433_1433), exp(X_a1433_1433)), seq(X_a1433_1433), Exp1_11438_1438), Exp2_11439_1439))), ! [X_a1440_1440, A_21441_1441, Exp1442_1442, Exp1_11443_1443, List1_11444_1444, List2_11445_1445, Exp2_11446_1446] :  (~=(hAPP(exp(X_a1440_1440), exp(X_a1440_1440), hAPP(X_a1440_1440, fun(exp(X_a1440_1440), exp(X_a1440_1440)), lAss(X_a1440_1440), A_21441_1441), Exp1442_1442), hAPP(exp(X_a1440_1440), exp(X_a1440_1440), hAPP(list(char), fun(exp(X_a1440_1440), exp(X_a1440_1440)), hAPP(list(char), fun(list(char), fun(exp(X_a1440_1440), exp(X_a1440_1440))), hAPP(exp(X_a1440_1440), fun(list(char), fun(list(char), fun(exp(X_a1440_1440), exp(X_a1440_1440)))), fAss(X_a1440_1440), Exp1_11443_1443), List1_11444_1444), List2_11445_1445), Exp2_11446_1446))), ! [X_a1447_1447, Exp1_11448_1448, Exp2_11449_1449, Exp11450_1450, List11451_1451, List21452_1452, Exp21453_1453] :  (~=(hAPP(exp(X_a1447_1447), exp(X_a1447_1447), hAPP(exp(X_a1447_1447), fun(exp(X_a1447_1447), exp(X_a1447_1447)), seq(X_a1447_1447), Exp1_11448_1448), Exp2_11449_1449), hAPP(exp(X_a1447_1447), exp(X_a1447_1447), hAPP(list(char), fun(exp(X_a1447_1447), exp(X_a1447_1447)), hAPP(list(char), fun(list(char), fun(exp(X_a1447_1447), exp(X_a1447_1447))), hAPP(exp(X_a1447_1447), fun(list(char), fun(list(char), fun(exp(X_a1447_1447), exp(X_a1447_1447)))), fAss(X_a1447_1447), Exp11450_1450), List11451_1451), List21452_1452), Exp21453_1453))), ! [X_a1454_1454, Exp11455_1455, List11456_1456, List21457_1457, Exp21458_1458, A_11459_1459, Ty_11460_1460, Exp_11461_1461] :  (~=(hAPP(exp(X_a1454_1454), exp(X_a1454_1454), hAPP(list(char), fun(exp(X_a1454_1454), exp(X_a1454_1454)), hAPP(list(char), fun(list(char), fun(exp(X_a1454_1454), exp(X_a1454_1454))), hAPP(exp(X_a1454_1454), fun(list(char), fun(list(char), fun(exp(X_a1454_1454), exp(X_a1454_1454)))), fAss(X_a1454_1454), Exp11455_1455), List11456_1456), List21457_1457), Exp21458_1458), hAPP(exp(X_a1454_1454), exp(X_a1454_1454), hAPP(ty, fun(exp(X_a1454_1454), exp(X_a1454_1454)), hAPP(X_a1454_1454, fun(ty, fun(exp(X_a1454_1454), exp(X_a1454_1454))), block(X_a1454_1454), A_11459_1459), Ty_11460_1460), Exp_11461_1461))), ! [X_a1462_1462, A_11463_1463, Ty_11464_1464, Exp_11465_1465, Exp11466_1466, List11467_1467, List21468_1468, Exp21469_1469] :  (~=(hAPP(exp(X_a1462_1462), exp(X_a1462_1462), hAPP(ty, fun(exp(X_a1462_1462), exp(X_a1462_1462)), hAPP(X_a1462_1462, fun(ty, fun(exp(X_a1462_1462), exp(X_a1462_1462))), block(X_a1462_1462), A_11463_1463), Ty_11464_1464), Exp_11465_1465), hAPP(exp(X_a1462_1462), exp(X_a1462_1462), hAPP(list(char), fun(exp(X_a1462_1462), exp(X_a1462_1462)), hAPP(list(char), fun(list(char), fun(exp(X_a1462_1462), exp(X_a1462_1462))), hAPP(exp(X_a1462_1462), fun(list(char), fun(list(char), fun(exp(X_a1462_1462), exp(X_a1462_1462)))), fAss(X_a1462_1462), Exp11466_1466), List11467_1467), List21468_1468), Exp21469_1469))), ! [Va1470_1470, F_11471_1471, D1472_1472, Pa1473_1473, Eb1474_1474, S_21475_1475, E_b1476_1476, S1477_1477] :  ((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, Pa1473_1473), Eb1474_1474), S_21475_1475), E_b1476_1476), S1477_1477)) => 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, Pa1473_1473), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1470_1470)), F_11471_1471), D1472_1472), Eb1474_1474)), S_21475_1475), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1470_1470)), F_11471_1471), D1472_1472), E_b1476_1476)), S1477_1477)))), ! [F_11478_1478, D1479_1479, E_21480_1480, Eb1481_1481, S_21482_1482, E_b1483_1483, S1484_1484, Pa1485_1485] :  ((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)))), Eb1481_1481), S_21482_1482)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1483_1483), S1484_1484))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1485_1485))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), Eb1481_1481), F_11478_1478), D1479_1479), E_21480_1480)), S_21482_1482)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_b1483_1483), F_11478_1478), D1479_1479), E_21480_1480)), S1484_1484))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1485_1485))))), ! [Va1486_1486, F_11487_1487, D1488_1488, Eb1489_1489, S_21490_1490, E_b1491_1491, S1492_1492, Pa1493_1493] :  ((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)))), Eb1489_1489), S_21490_1490)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1491_1491), S1492_1492))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1493_1493))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1486_1486)), F_11487_1487), D1488_1488), Eb1489_1489)), S_21490_1490)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1486_1486)), F_11487_1487), D1488_1488), E_b1491_1491)), S1492_1492))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1493_1493))))), ! [F_11494_1494, D1495_1495, E_21496_1496, Eb1497_1497, S_21498_1498, E_b1499_1499, S1500_1500, Pa1501_1501] :  ((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)))), Eb1497_1497), S_21498_1498)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1499_1499), S1500_1500))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1501_1501)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), Eb1497_1497), F_11494_1494), D1495_1495), E_21496_1496)), S_21498_1498)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_b1499_1499), F_11494_1494), D1495_1495), E_21496_1496)), S1500_1500))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1501_1501)))))), ! [E_b1502_1502, S1503_1503, Eb1504_1504, S_21505_1505, E_51506_1506, S_31507_1507, Pa1508_1508] :  ((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)))), wwf_J_mdecl), Pa1508_1508)) => (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)))), Eb1504_1504), S_21505_1505)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_51506_1506), S_31507_1507))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1508_1508))) => (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)))), eval, Pa1508_1508), E_51506_1506), S_31507_1507), E_b1502_1502), S1503_1503)) => 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)))), eval, Pa1508_1508), Eb1504_1504), S_21505_1505), E_b1502_1502), S1503_1503)))))), ! [Va1509_1509, F_11510_1510, D1511_1511, Eb1512_1512, S_21513_1513, E_b1514_1514, S1515_1515, Pa1516_1516] :  ((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)))), Eb1512_1512), S_21513_1513)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1514_1514), S1515_1515))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1516_1516)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1509_1509)), F_11510_1510), D1511_1511), Eb1512_1512)), S_21513_1513)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1509_1509)), F_11510_1510), D1511_1511), E_b1514_1514)), S1515_1515))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1516_1516)))))), ! [Pa1517_1517, F_11518_1518, D1519_1519, Va1520_1520, Lb1521_1521, Hb1522_1522, A_41523_1523, C_11524_1524, Fs_11525_1525] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1522_1522, A_41523_1523), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11524_1524), Fs_11525_1525))) => 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, Pa1517_1517), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41523_1523))), F_11518_1518), D1519_1519), hAPP(val, exp(list(char)), val_1(list(char)), Va1520_1520))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1522_1522), Lb1521_1521)), 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))), hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), Hb1522_1522), A_41523_1523), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11524_1524), hAPP(option(val), fun(product_prod(list(char), list(char)), option(val)), hAPP(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val))), hAPP(fun(product_prod(list(char), list(char)), option(val)), fun(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val)))), fun_upd(product_prod(list(char), list(char)), option(val)), Fs_11525_1525), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11518_1518), D1519_1519)), hAPP(val, option(val), some(val), Va1520_1520)))))), Lb1521_1521))))), ! [E_b1526_1526, S1527_1527, Eb1528_1528, S_21529_1529, E_51530_1530, S_31531_1531, Pa1532_1532] :  ((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)))), wwf_J_mdecl), Pa1532_1532)) => (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)))), Eb1528_1528), S_21529_1529)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_51530_1530), S_31531_1531))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1532_1532)))) => (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)))), eval, Pa1532_1532), E_51530_1530), S_31531_1531), E_b1526_1526), S1527_1527)) => 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)))), eval, Pa1532_1532), Eb1528_1528), S_21529_1529), E_b1526_1526), S1527_1527)))))), ! [H_2_11533_1533, Fs_21534_1534, F_11535_1535, D1536_1536, C_11537_1537, Fs_11538_1538, E_21539_1539, Va1540_1540, H_21541_1541, L_21542_1542, Pa1543_1543, E_11544_1544, S_01545_1545, A_41546_1546, S_11547_1547] :  ((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)))), eval, Pa1543_1543), E_11544_1544), S_01545_1545), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41546_1546))), S_11547_1547)) => (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)))), eval, Pa1543_1543), E_21539_1539), S_11547_1547), hAPP(val, exp(list(char)), val_1(list(char)), Va1540_1540)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_21541_1541), L_21542_1542))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_21541_1541, A_41546_1546), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11537_1537), Fs_11538_1538))) => (=(Fs_21534_1534, hAPP(option(val), fun(product_prod(list(char), list(char)), option(val)), hAPP(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val))), hAPP(fun(product_prod(list(char), list(char)), option(val)), fun(product_prod(list(char), list(char)), fun(option(val), fun(product_prod(list(char), list(char)), option(val)))), fun_upd(product_prod(list(char), list(char)), option(val)), Fs_11538_1538), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11535_1535), D1536_1536)), hAPP(val, option(val), some(val), Va1540_1540))) => (=(H_2_11533_1533, hAPP(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hAPP(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(nat, fun(option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))))), fun_upd(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), H_21541_1541), A_41546_1546), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11537_1537), Fs_21534_1534)))) => 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)))), eval, Pa1543_1543), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_11544_1544), F_11535_1535), D1536_1536), E_21539_1539)), S_01545_1545), 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))), H_2_11533_1533), L_21542_1542))))))))), ! [L_b1548_1548, Va_11549_1549, Pa1550_1550, Eb1551_1551, S_01552_1552, Va1553_1553, Hb1554_1554, Lb1555_1555] :  ((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)))), eval, Pa1550_1550), Eb1551_1551), S_01552_1552), hAPP(val, exp(list(char)), val_1(list(char)), Va1553_1553)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1554_1554), Lb1555_1555))) => (=(L_b1548_1548, 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)), Lb1555_1555), Va_11549_1549), hAPP(val, option(val), some(val), Va1553_1553))) => 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)))), eval, Pa1550_1550), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11549_1549), Eb1551_1551)), S_01552_1552), 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))), Hb1554_1554), L_b1548_1548)))))), ! [Ta1556_1556, Pa1557_1557, E_01558_1558, H_0_11559_1559, L_0_11560_1560, Va_11561_1561, E_11562_1562, H_11563_1563, L_11564_1564] :  ((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)))), eval, Pa1557_1557), E_01558_1558), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_0_11559_1559), 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)), L_0_11560_1560), Va_11561_1561), none(val)))), E_11562_1562), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_11563_1563), L_11564_1564))) => 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)))), eval, Pa1557_1557), 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)), Va_11561_1561), Ta1556_1556), E_01558_1558)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_0_11559_1559), L_0_11560_1560)), E_11562_1562), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_11563_1563), 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)), L_11564_1564), Va_11561_1561), hAPP(list(char), option(val), L_0_11560_1560, Va_11561_1561))))))), ! [F_11565_1565, D1566_1566, Va1567_1567, C_11568_1568, Fs_11569_1569, Eb1570_1570, S_21571_1571, A_41572_1572, S1573_1573, Pa1574_1574] :  ((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)))), Eb1570_1570), S_21571_1571)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_41572_1572))), S1573_1573))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1574_1574)))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S1573_1573), A_41572_1572), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11568_1568), Fs_11569_1569))) => (=(hAPP(product_prod(list(char), list(char)), option(val), Fs_11569_1569, hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11565_1565), D1566_1566)), hAPP(val, option(val), some(val), Va1567_1567)) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1570_1570), F_11565_1565), D1566_1566)), S_21571_1571)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va1567_1567)), S1573_1573))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1574_1574)))))))), ! [Pa1575_1575, Eb1576_1576, Hb1577_1577, Lb1578_1578, E_b1579_1579, H_b1580_1580, L_b1581_1581] :  ((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)))), eval, Pa1575_1575), Eb1576_1576), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1577_1577), Lb1578_1578)), E_b1579_1579), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_b1580_1580), L_b1581_1581))) => hBOOL(hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool, hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), bool), hext, Hb1577_1577), H_b1580_1580)))), ! [X_a1582_1582, Exp_31583_1583, List1_31584_1584, List2_31585_1585, Exp_21586_1586, List1_21587_1587, List2_21588_1588] :  ((=(hAPP(list(char), exp(X_a1582_1582), hAPP(list(char), fun(list(char), exp(X_a1582_1582)), hAPP(exp(X_a1582_1582), fun(list(char), fun(list(char), exp(X_a1582_1582))), fAcc(X_a1582_1582), Exp_31583_1583), List1_31584_1584), List2_31585_1585), hAPP(list(char), exp(X_a1582_1582), hAPP(list(char), fun(list(char), exp(X_a1582_1582)), hAPP(exp(X_a1582_1582), fun(list(char), fun(list(char), exp(X_a1582_1582))), fAcc(X_a1582_1582), Exp_21586_1586), List1_21587_1587), List2_21588_1588)) <=> ((=(Exp_31583_1583, Exp_21586_1586) & =(List1_31584_1584, List1_21587_1587)) & =(List2_31585_1585, List2_21588_1588)))), ! [F_11589_1589, D1590_1590, Pa1591_1591, Eb1592_1592, S_21593_1593, E_b1594_1594, S1595_1595] :  ((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, Pa1591_1591), Eb1592_1592), S_21593_1593), E_b1594_1594), S1595_1595)) => 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, Pa1591_1591), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1592_1592), F_11589_1589), D1590_1590)), S_21593_1593), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), E_b1594_1594), F_11589_1589), D1590_1590)), S1595_1595)))), ! [X_a1596_1596, Exp_11597_1597, List1_11598_1598, List2_11599_1599, Val1600_1600] :  (~=(hAPP(list(char), exp(X_a1596_1596), hAPP(list(char), fun(list(char), exp(X_a1596_1596)), hAPP(exp(X_a1596_1596), fun(list(char), fun(list(char), exp(X_a1596_1596))), fAcc(X_a1596_1596), Exp_11597_1597), List1_11598_1598), List2_11599_1599), hAPP(val, exp(X_a1596_1596), val_1(X_a1596_1596), Val1600_1600))), ! [X_a1601_1601, Val1602_1602, Exp_11603_1603, List1_11604_1604, List2_11605_1605] :  (~=(hAPP(val, exp(X_a1601_1601), val_1(X_a1601_1601), Val1602_1602), hAPP(list(char), exp(X_a1601_1601), hAPP(list(char), fun(list(char), exp(X_a1601_1601)), hAPP(exp(X_a1601_1601), fun(list(char), fun(list(char), exp(X_a1601_1601))), fAcc(X_a1601_1601), Exp_11603_1603), List1_11604_1604), List2_11605_1605))), ! [X_a1606_1606, Exp1_11607_1607, Exp2_11608_1608, Exp1609_1609, List11610_1610, List21611_1611] :  (~=(hAPP(exp(X_a1606_1606), exp(X_a1606_1606), hAPP(exp(X_a1606_1606), fun(exp(X_a1606_1606), exp(X_a1606_1606)), seq(X_a1606_1606), Exp1_11607_1607), Exp2_11608_1608), hAPP(list(char), exp(X_a1606_1606), hAPP(list(char), fun(list(char), exp(X_a1606_1606)), hAPP(exp(X_a1606_1606), fun(list(char), fun(list(char), exp(X_a1606_1606))), fAcc(X_a1606_1606), Exp1609_1609), List11610_1610), List21611_1611))), ! [X_a1612_1612, A_21613_1613, Exp1614_1614, Exp_11615_1615, List1_11616_1616, List2_11617_1617] :  (~=(hAPP(exp(X_a1612_1612), exp(X_a1612_1612), hAPP(X_a1612_1612, fun(exp(X_a1612_1612), exp(X_a1612_1612)), lAss(X_a1612_1612), A_21613_1613), Exp1614_1614), hAPP(list(char), exp(X_a1612_1612), hAPP(list(char), fun(list(char), exp(X_a1612_1612)), hAPP(exp(X_a1612_1612), fun(list(char), fun(list(char), exp(X_a1612_1612))), fAcc(X_a1612_1612), Exp_11615_1615), List1_11616_1616), List2_11617_1617))), ! [X_a1618_1618, Exp1619_1619, List11620_1620, List21621_1621, Exp1_11622_1622, Exp2_11623_1623] :  (~=(hAPP(list(char), exp(X_a1618_1618), hAPP(list(char), fun(list(char), exp(X_a1618_1618)), hAPP(exp(X_a1618_1618), fun(list(char), fun(list(char), exp(X_a1618_1618))), fAcc(X_a1618_1618), Exp1619_1619), List11620_1620), List21621_1621), hAPP(exp(X_a1618_1618), exp(X_a1618_1618), hAPP(exp(X_a1618_1618), fun(exp(X_a1618_1618), exp(X_a1618_1618)), seq(X_a1618_1618), Exp1_11622_1622), Exp2_11623_1623))), ! [X_a1624_1624, Exp_11625_1625, List1_11626_1626, List2_11627_1627, A_21628_1628, Exp1629_1629] :  (~=(hAPP(list(char), exp(X_a1624_1624), hAPP(list(char), fun(list(char), exp(X_a1624_1624)), hAPP(exp(X_a1624_1624), fun(list(char), fun(list(char), exp(X_a1624_1624))), fAcc(X_a1624_1624), Exp_11625_1625), List1_11626_1626), List2_11627_1627), hAPP(exp(X_a1624_1624), exp(X_a1624_1624), hAPP(X_a1624_1624, fun(exp(X_a1624_1624), exp(X_a1624_1624)), lAss(X_a1624_1624), A_21628_1628), Exp1629_1629))), ! [X_a1630_1630, Exp1_11631_1631, List1_11632_1632, List2_11633_1633, Exp2_11634_1634, Exp1635_1635, List11636_1636, List21637_1637] :  (~=(hAPP(exp(X_a1630_1630), exp(X_a1630_1630), hAPP(list(char), fun(exp(X_a1630_1630), exp(X_a1630_1630)), hAPP(list(char), fun(list(char), fun(exp(X_a1630_1630), exp(X_a1630_1630))), hAPP(exp(X_a1630_1630), fun(list(char), fun(list(char), fun(exp(X_a1630_1630), exp(X_a1630_1630)))), fAss(X_a1630_1630), Exp1_11631_1631), List1_11632_1632), List2_11633_1633), Exp2_11634_1634), hAPP(list(char), exp(X_a1630_1630), hAPP(list(char), fun(list(char), exp(X_a1630_1630)), hAPP(exp(X_a1630_1630), fun(list(char), fun(list(char), exp(X_a1630_1630))), fAcc(X_a1630_1630), Exp1635_1635), List11636_1636), List21637_1637))), ! [X_a1638_1638, Exp1639_1639, List11640_1640, List21641_1641, Exp1_11642_1642, List1_11643_1643, List2_11644_1644, Exp2_11645_1645] :  (~=(hAPP(list(char), exp(X_a1638_1638), hAPP(list(char), fun(list(char), exp(X_a1638_1638)), hAPP(exp(X_a1638_1638), fun(list(char), fun(list(char), exp(X_a1638_1638))), fAcc(X_a1638_1638), Exp1639_1639), List11640_1640), List21641_1641), hAPP(exp(X_a1638_1638), exp(X_a1638_1638), hAPP(list(char), fun(exp(X_a1638_1638), exp(X_a1638_1638)), hAPP(list(char), fun(list(char), fun(exp(X_a1638_1638), exp(X_a1638_1638))), hAPP(exp(X_a1638_1638), fun(list(char), fun(list(char), fun(exp(X_a1638_1638), exp(X_a1638_1638)))), fAss(X_a1638_1638), Exp1_11642_1642), List1_11643_1643), List2_11644_1644), Exp2_11645_1645))), ! [X_a1646_1646, Exp1647_1647, List11648_1648, List21649_1649, A_11650_1650, Ty_11651_1651, Exp_11652_1652] :  (~=(hAPP(list(char), exp(X_a1646_1646), hAPP(list(char), fun(list(char), exp(X_a1646_1646)), hAPP(exp(X_a1646_1646), fun(list(char), fun(list(char), exp(X_a1646_1646))), fAcc(X_a1646_1646), Exp1647_1647), List11648_1648), List21649_1649), hAPP(exp(X_a1646_1646), exp(X_a1646_1646), hAPP(ty, fun(exp(X_a1646_1646), exp(X_a1646_1646)), hAPP(X_a1646_1646, fun(ty, fun(exp(X_a1646_1646), exp(X_a1646_1646))), block(X_a1646_1646), A_11650_1650), Ty_11651_1651), Exp_11652_1652))), ! [X_a1653_1653, A_11654_1654, Ty_11655_1655, Exp_11656_1656, Exp1657_1657, List11658_1658, List21659_1659] :  (~=(hAPP(exp(X_a1653_1653), exp(X_a1653_1653), hAPP(ty, fun(exp(X_a1653_1653), exp(X_a1653_1653)), hAPP(X_a1653_1653, fun(ty, fun(exp(X_a1653_1653), exp(X_a1653_1653))), block(X_a1653_1653), A_11654_1654), Ty_11655_1655), Exp_11656_1656), hAPP(list(char), exp(X_a1653_1653), hAPP(list(char), fun(list(char), exp(X_a1653_1653)), hAPP(exp(X_a1653_1653), fun(list(char), fun(list(char), exp(X_a1653_1653))), fAcc(X_a1653_1653), Exp1657_1657), List11658_1658), List21659_1659))), ! [X_a1660_1660, Eb1661_1661, F_11662_1662, D1663_1663, A_51664_1664] :  ((hBOOL(hAPP(option(fun(X_a1660_1660, bool)), bool, hAPP(exp(X_a1660_1660), fun(option(fun(X_a1660_1660, bool)), bool), d(X_a1660_1660), hAPP(list(char), exp(X_a1660_1660), hAPP(list(char), fun(list(char), exp(X_a1660_1660)), hAPP(exp(X_a1660_1660), fun(list(char), fun(list(char), exp(X_a1660_1660))), fAcc(X_a1660_1660), Eb1661_1661), F_11662_1662), D1663_1663)), A_51664_1664)) <=> hBOOL(hAPP(option(fun(X_a1660_1660, bool)), bool, hAPP(exp(X_a1660_1660), fun(option(fun(X_a1660_1660, bool)), bool), d(X_a1660_1660), Eb1661_1661), A_51664_1664)))), ! [F_11665_1665, D1666_1666, Eb1667_1667, S_21668_1668, E_b1669_1669, S1670_1670, Pa1671_1671] :  ((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)))), Eb1667_1667), S_21668_1668)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1669_1669), S1670_1670))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1671_1671))) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1667_1667), F_11665_1665), D1666_1666)), S_21668_1668)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), E_b1669_1669), F_11665_1665), D1666_1666)), S1670_1670))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1671_1671))))), ! [F_11672_1672, D1673_1673, Eb1674_1674, S_21675_1675, E_b1676_1676, S1677_1677, Pa1678_1678] :  ((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)))), Eb1674_1674), S_21675_1675)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1676_1676), S1677_1677))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1678_1678)))) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1674_1674), F_11672_1672), D1673_1673)), S_21675_1675)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), E_b1676_1676), F_11672_1672), D1673_1673)), S1677_1677))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1678_1678)))))), ! [F_11679_1679, D1680_1680, Va1681_1681, C_11682_1682, Fs_11683_1683, Pa1684_1684, Eb1685_1685, S_01686_1686, A_41687_1687, Hb1688_1688, Lb1689_1689] :  ((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)))), eval, Pa1684_1684), Eb1685_1685), S_01686_1686), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41687_1687))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1688_1688), Lb1689_1689))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb1688_1688, A_41687_1687), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11682_1682), Fs_11683_1683))) => (=(hAPP(product_prod(list(char), list(char)), option(val), Fs_11683_1683, hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11679_1679), D1680_1680)), hAPP(val, option(val), some(val), Va1681_1681)) => 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)))), eval, Pa1684_1684), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1685_1685), F_11679_1679), D1680_1680)), S_01686_1686), hAPP(val, exp(list(char)), val_1(list(char)), Va1681_1681)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb1688_1688), Lb1689_1689))))))), ! [Pa1690_1690, Va1691_1691, S_21692_1692] :  (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)))), eval, Pa1690_1690), hAPP(val, exp(list(char)), val_1(list(char)), Va1691_1691)), S_21692_1692), hAPP(val, exp(list(char)), val_1(list(char)), Va1691_1691)), S_21692_1692))), ! [Pa1693_1693, Va1694_1694, S_21695_1695, E_b1696_1696, S1697_1697] :  ((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)))), eval, Pa1693_1693), hAPP(val, exp(list(char)), val_1(list(char)), Va1694_1694)), S_21695_1695), E_b1696_1696), S1697_1697)) => ~(=(E_b1696_1696, hAPP(val, exp(list(char)), val_1(list(char)), Va1694_1694)) => ~=(S1697_1697, S_21695_1695)))), ! [Pa1698_1698, Eb1699_1699, S_21700_1700, E_b1701_1701, S1702_1702] :  ((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)))), eval, Pa1698_1698), Eb1699_1699), S_21700_1700), E_b1701_1701), S1702_1702)) => hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_b1701_1701)))), ! [Pa1703_1703, S_21704_1704, Eb1705_1705] :  ((hBOOL(hAPP(exp(list(char)), bool, final(list(char)), Eb1705_1705)) => 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)))), eval, Pa1703_1703), Eb1705_1705), S_21704_1704), Eb1705_1705), S_21704_1704)))), ! [Pa1706_1706, F_11707_1707, D1708_1708, Va1709_1709, S_21710_1710, A_41711_1711, C_11712_1712, Fs_11713_1713] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_21710_1710), A_41711_1711), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11712_1712), Fs_11713_1713))) => (=(hAPP(product_prod(list(char), list(char)), option(val), Fs_11713_1713, hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11707_1707), D1708_1708)), hAPP(val, option(val), some(val), Va1709_1709)) => 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, Pa1706_1706), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41711_1711))), F_11707_1707), D1708_1708)), S_21710_1710), hAPP(val, exp(list(char)), val_1(list(char)), Va1709_1709)), S_21710_1710))))), ! [Pa1714_1714, F_11715_1715, D1716_1716, Va1717_1717, S_21718_1718, A_41719_1719, C_11720_1720, Fs_11721_1721] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_21718_1718), A_41719_1719), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_11720_1720), Fs_11721_1721))) => (=(hAPP(product_prod(list(char), list(char)), option(val), Fs_11721_1721, hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), F_11715_1715), D1716_1716)), hAPP(val, option(val), some(val), Va1717_1717)) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41719_1719))), F_11715_1715), D1716_1716)), S_21718_1718)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va1717_1717)), S_21718_1718))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1714_1714)))))), ! [E_11722_1722, E_21723_1723, S_2_11724_1724, Pa1725_1725, E_01726_1726, S_01727_1727, Va1728_1728, S_11729_1729] :  ((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)))), eval, Pa1725_1725), E_01726_1726), S_01727_1727), hAPP(val, exp(list(char)), val_1(list(char)), Va1728_1728)), S_11729_1729)) => (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)))), eval, Pa1725_1725), E_11722_1722), S_11729_1729), E_21723_1723), S_2_11724_1724)) => 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)))), eval, Pa1725_1725), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), E_01726_1726), E_11722_1722)), S_01727_1727), E_21723_1723), S_2_11724_1724))))), ! [Pa1730_1730, Va_11731_1731, Ta1732_1732, E_11733_1733, S_21734_1734, E_b1735_1735, S1736_1736] :  ((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)))), eval, Pa1730_1730), 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)), Va_11731_1731), Ta1732_1732), E_11733_1733)), S_21734_1734), E_b1735_1735), S1736_1736)) => ~! [H_01737_1737, L_01738_1738] :  ((=(S_21734_1734, hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_01737_1737), L_01738_1738)) => ! [H_1_11739_1739, L_1_11740_1740] :  ((=(S1736_1736, hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_1_11739_1739), 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)), L_1_11740_1740), Va_11731_1731), hAPP(list(char), option(val), L_01738_1738, Va_11731_1731)))) => ~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)))), eval, Pa1730_1730), E_11733_1733), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_01737_1737), 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)), L_01738_1738), Va_11731_1731), none(val)))), E_b1735_1735), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_1_11739_1739), L_1_11740_1740))))))))), ! [Va_11741_1741, Ta1742_1742, Va1743_1743, A_41744_1744, S_21745_1745, Pa1746_1746] :  (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)), Va_11741_1741), Ta1742_1742), 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)), Va_11741_1741), hAPP(val, exp(list(char)), val_1(list(char)), Va1743_1743))), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41744_1744)))))), S_21745_1745)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41744_1744)))), S_21745_1745))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1746_1746)))), ! [Nat_11747_1747] :  (~=(hAPP(nat, val, addr, Nat_11747_1747), unit)), ! [Nat_11748_1748] :  (~=(unit, hAPP(nat, val, addr, Nat_11748_1748))), ! [Pa1749_1749, Va_11750_1750, Ta1751_1751, Va1752_1752, A_41753_1753, S_21754_1754] :  (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, Pa1749_1749), 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)), Va_11750_1750), Ta1751_1751), 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)), Va_11750_1750), hAPP(val, exp(list(char)), val_1(list(char)), Va1752_1752))), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41753_1753)))))), S_21754_1754), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41753_1753)))), S_21754_1754))), ! [Pa1755_1755, Eb1756_1756, S_01757_1757, E_b1758_1758, S_11759_1759] :  ((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)))), eval, Pa1755_1755), Eb1756_1756), S_01757_1757), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1758_1758)), S_11759_1759)) => 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)))), eval, Pa1755_1755), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1756_1756)), S_01757_1757), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1758_1758)), S_11759_1759)))), ! [Pa1760_1760, Eb1761_1761, S_21762_1762, E_b1763_1763, S1764_1764] :  ((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, Pa1760_1760), Eb1761_1761), S_21762_1762), E_b1763_1763), S1764_1764)) => 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, Pa1760_1760), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1761_1761)), S_21762_1762), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1763_1763)), S1764_1764)))), ! [Pa1765_1765, Eb1766_1766, S_21767_1767] :  (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, Pa1765_1765), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1766_1766))), S_21767_1767), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1766_1766)), S_21767_1767))), ! [X_a1768_1768, Exp_31769_1769, Exp_21770_1770] :  ((=(hAPP(exp(X_a1768_1768), exp(X_a1768_1768), throw(X_a1768_1768), Exp_31769_1769), hAPP(exp(X_a1768_1768), exp(X_a1768_1768), throw(X_a1768_1768), Exp_21770_1770)) <=> =(Exp_31769_1769, Exp_21770_1770))), ! [X_a1771_1771, Val1772_1772, Exp_11773_1773] :  (~=(hAPP(val, exp(X_a1771_1771), val_1(X_a1771_1771), Val1772_1772), hAPP(exp(X_a1771_1771), exp(X_a1771_1771), throw(X_a1771_1771), Exp_11773_1773))), ! [X_a1774_1774, Exp_11775_1775, Val1776_1776] :  (~=(hAPP(exp(X_a1774_1774), exp(X_a1774_1774), throw(X_a1774_1774), Exp_11775_1775), hAPP(val, exp(X_a1774_1774), val_1(X_a1774_1774), Val1776_1776))), ! [X_a1777_1777, A_21778_1778, Exp1779_1779, Exp_11780_1780] :  (~=(hAPP(exp(X_a1777_1777), exp(X_a1777_1777), hAPP(X_a1777_1777, fun(exp(X_a1777_1777), exp(X_a1777_1777)), lAss(X_a1777_1777), A_21778_1778), Exp1779_1779), hAPP(exp(X_a1777_1777), exp(X_a1777_1777), throw(X_a1777_1777), Exp_11780_1780))), ! [X_a1781_1781, Exp11782_1782, Exp21783_1783, Exp_11784_1784] :  (~=(hAPP(exp(X_a1781_1781), exp(X_a1781_1781), hAPP(exp(X_a1781_1781), fun(exp(X_a1781_1781), exp(X_a1781_1781)), seq(X_a1781_1781), Exp11782_1782), Exp21783_1783), hAPP(exp(X_a1781_1781), exp(X_a1781_1781), throw(X_a1781_1781), Exp_11784_1784))), ! [X_a1785_1785, Exp_11786_1786, A_21787_1787, Exp1788_1788] :  (~=(hAPP(exp(X_a1785_1785), exp(X_a1785_1785), throw(X_a1785_1785), Exp_11786_1786), hAPP(exp(X_a1785_1785), exp(X_a1785_1785), hAPP(X_a1785_1785, fun(exp(X_a1785_1785), exp(X_a1785_1785)), lAss(X_a1785_1785), A_21787_1787), Exp1788_1788))), ! [X_a1789_1789, Exp_11790_1790, Exp11791_1791, Exp21792_1792] :  (~=(hAPP(exp(X_a1789_1789), exp(X_a1789_1789), throw(X_a1789_1789), Exp_11790_1790), hAPP(exp(X_a1789_1789), exp(X_a1789_1789), hAPP(exp(X_a1789_1789), fun(exp(X_a1789_1789), exp(X_a1789_1789)), seq(X_a1789_1789), Exp11791_1791), Exp21792_1792))), ! [X_a1793_1793, Exp_11794_1794, Exp11795_1795, List11796_1796, List21797_1797, Exp21798_1798] :  (~=(hAPP(exp(X_a1793_1793), exp(X_a1793_1793), throw(X_a1793_1793), Exp_11794_1794), hAPP(exp(X_a1793_1793), exp(X_a1793_1793), hAPP(list(char), fun(exp(X_a1793_1793), exp(X_a1793_1793)), hAPP(list(char), fun(list(char), fun(exp(X_a1793_1793), exp(X_a1793_1793))), hAPP(exp(X_a1793_1793), fun(list(char), fun(list(char), fun(exp(X_a1793_1793), exp(X_a1793_1793)))), fAss(X_a1793_1793), Exp11795_1795), List11796_1796), List21797_1797), Exp21798_1798))), ! [X_a1799_1799, Exp11800_1800, List11801_1801, List21802_1802, Exp21803_1803, Exp_11804_1804] :  (~=(hAPP(exp(X_a1799_1799), exp(X_a1799_1799), hAPP(list(char), fun(exp(X_a1799_1799), exp(X_a1799_1799)), hAPP(list(char), fun(list(char), fun(exp(X_a1799_1799), exp(X_a1799_1799))), hAPP(exp(X_a1799_1799), fun(list(char), fun(list(char), fun(exp(X_a1799_1799), exp(X_a1799_1799)))), fAss(X_a1799_1799), Exp11800_1800), List11801_1801), List21802_1802), Exp21803_1803), hAPP(exp(X_a1799_1799), exp(X_a1799_1799), throw(X_a1799_1799), Exp_11804_1804))), ! [X_a1805_1805, A_21806_1806, Ty1807_1807, Exp1808_1808, Exp_11809_1809] :  (~=(hAPP(exp(X_a1805_1805), exp(X_a1805_1805), hAPP(ty, fun(exp(X_a1805_1805), exp(X_a1805_1805)), hAPP(X_a1805_1805, fun(ty, fun(exp(X_a1805_1805), exp(X_a1805_1805))), block(X_a1805_1805), A_21806_1806), Ty1807_1807), Exp1808_1808), hAPP(exp(X_a1805_1805), exp(X_a1805_1805), throw(X_a1805_1805), Exp_11809_1809))), ! [X_a1810_1810, Exp_11811_1811, A_21812_1812, Ty1813_1813, Exp1814_1814] :  (~=(hAPP(exp(X_a1810_1810), exp(X_a1810_1810), throw(X_a1810_1810), Exp_11811_1811), hAPP(exp(X_a1810_1810), exp(X_a1810_1810), hAPP(ty, fun(exp(X_a1810_1810), exp(X_a1810_1810)), hAPP(X_a1810_1810, fun(ty, fun(exp(X_a1810_1810), exp(X_a1810_1810))), block(X_a1810_1810), A_21812_1812), Ty1813_1813), Exp1814_1814))), ! [X_a1815_1815, Exp_11816_1816, Exp1817_1817, List11818_1818, List21819_1819] :  (~=(hAPP(exp(X_a1815_1815), exp(X_a1815_1815), throw(X_a1815_1815), Exp_11816_1816), hAPP(list(char), exp(X_a1815_1815), hAPP(list(char), fun(list(char), exp(X_a1815_1815)), hAPP(exp(X_a1815_1815), fun(list(char), fun(list(char), exp(X_a1815_1815))), fAcc(X_a1815_1815), Exp1817_1817), List11818_1818), List21819_1819))), ! [X_a1820_1820, Exp1821_1821, List11822_1822, List21823_1823, Exp_11824_1824] :  (~=(hAPP(list(char), exp(X_a1820_1820), hAPP(list(char), fun(list(char), exp(X_a1820_1820)), hAPP(exp(X_a1820_1820), fun(list(char), fun(list(char), exp(X_a1820_1820))), fAcc(X_a1820_1820), Exp1821_1821), List11822_1822), List21823_1823), hAPP(exp(X_a1820_1820), exp(X_a1820_1820), throw(X_a1820_1820), Exp_11824_1824))), ! [X_a1825_1825, Eb1826_1826, A_51827_1827] :  ((hBOOL(hAPP(option(fun(X_a1825_1825, bool)), bool, hAPP(exp(X_a1825_1825), fun(option(fun(X_a1825_1825, bool)), bool), d(X_a1825_1825), hAPP(exp(X_a1825_1825), exp(X_a1825_1825), throw(X_a1825_1825), Eb1826_1826)), A_51827_1827)) <=> hBOOL(hAPP(option(fun(X_a1825_1825, bool)), bool, hAPP(exp(X_a1825_1825), fun(option(fun(X_a1825_1825, bool)), bool), d(X_a1825_1825), Eb1826_1826), A_51827_1827)))), ! [Va_11828_1828, Pa1829_1829, Eb1830_1830, S_01831_1831, E_b1832_1832, S_11833_1833] :  ((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)))), eval, Pa1829_1829), Eb1830_1830), S_01831_1831), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1832_1832)), S_11833_1833)) => 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)))), eval, Pa1829_1829), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11828_1828), Eb1830_1830)), S_01831_1831), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1832_1832)), S_11833_1833)))), ! [E_11834_1834, Pa1835_1835, E_01836_1836, S_01837_1837, Eb1838_1838, S_11839_1839] :  ((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)))), eval, Pa1835_1835), E_01836_1836), S_01837_1837), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1838_1838)), S_11839_1839)) => 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)))), eval, Pa1835_1835), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), E_01836_1836), E_11834_1834)), S_01837_1837), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1838_1838)), S_11839_1839)))), ! [F_11840_1840, D1841_1841, E_21842_1842, Pa1843_1843, E_11844_1844, S_01845_1845, E_b1846_1846, S_11847_1847] :  ((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)))), eval, Pa1843_1843), E_11844_1844), S_01845_1845), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1846_1846)), S_11847_1847)) => 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)))), eval, Pa1843_1843), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_11844_1844), F_11840_1840), D1841_1841), E_21842_1842)), S_01845_1845), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1846_1846)), S_11847_1847)))), ! [Pa1848_1848, Va_11849_1849, Eb1850_1850, S_21851_1851] :  (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, Pa1848_1848), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11849_1849), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1850_1850))), S_21851_1851), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1850_1850)), S_21851_1851))), ! [Pa1852_1852, Eb1853_1853, E_21854_1854, S_21855_1855] :  (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, Pa1852_1852), 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)), throw(list(char)), Eb1853_1853)), E_21854_1854)), S_21855_1855), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1853_1853)), S_21855_1855))), ! [F_11856_1856, D1857_1857, Pa1858_1858, Eb1859_1859, S_01860_1860, E_b1861_1861, S_11862_1862] :  ((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)))), eval, Pa1858_1858), Eb1859_1859), S_01860_1860), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1861_1861)), S_11862_1862)) => 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)))), eval, Pa1858_1858), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1859_1859), F_11856_1856), D1857_1857)), S_01860_1860), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1861_1861)), S_11862_1862)))), ! [Pa1863_1863, Eb1864_1864, F_11865_1865, D1866_1866, E_21867_1867, S_21868_1868] :  (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, Pa1863_1863), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1864_1864)), F_11865_1865), D1866_1866), E_21867_1867)), S_21868_1868), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1864_1864)), S_21868_1868))), ! [Pa1869_1869, Eb1870_1870, F_11871_1871, D1872_1872, S_21873_1873] :  (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, Pa1869_1869), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1870_1870)), F_11871_1871), D1872_1872)), S_21873_1873), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1870_1870)), S_21873_1873))), ! [Eb1874_1874, S_21875_1875, Pa1876_1876] :  (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)), throw(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1874_1874))), S_21875_1875)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1874_1874)), S_21875_1875))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1876_1876)))), ! [Eb1877_1877, S_21878_1878, E_b1879_1879, S1880_1880, Pa1881_1881] :  ((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)))), Eb1877_1877), S_21878_1878)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1879_1879), S1880_1880))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1881_1881))) => 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)), throw(list(char)), Eb1877_1877)), S_21878_1878)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1879_1879)), S1880_1880))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1881_1881))))), ! [Pa1882_1882, Eb1883_1883, S_01884_1884, A_41885_1885, S_11886_1886] :  ((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)))), eval, Pa1882_1882), Eb1883_1883), S_01884_1884), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41885_1885))), S_11886_1886)) => 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)))), eval, Pa1882_1882), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1883_1883)), S_01884_1884), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41885_1885)))), S_11886_1886)))), ! [F_11887_1887, D1888_1888, E_21889_1889, E_b1890_1890, S_2_11891_1891, Pa1892_1892, E_11893_1893, S_01894_1894, Va1895_1895, S_11896_1896] :  ((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)))), eval, Pa1892_1892), E_11893_1893), S_01894_1894), hAPP(val, exp(list(char)), val_1(list(char)), Va1895_1895)), S_11896_1896)) => (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)))), eval, Pa1892_1892), E_21889_1889), S_11896_1896), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1890_1890)), S_2_11891_1891)) => 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)))), eval, Pa1892_1892), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_11893_1893), F_11887_1887), D1888_1888), E_21889_1889)), S_01894_1894), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b1890_1890)), S_2_11891_1891))))), ! [Pa1897_1897, Va1898_1898, F_11899_1899, D1900_1900, Eb1901_1901, S_21902_1902] :  (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, Pa1897_1897), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1898_1898)), F_11899_1899), D1900_1900), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1901_1901))), S_21902_1902), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1901_1901)), S_21902_1902))), ! [Nat_21903_1903, Nat1904_1904] :  ((=(hAPP(nat, val, addr, Nat_21903_1903), hAPP(nat, val, addr, Nat1904_1904)) <=> =(Nat_21903_1903, Nat1904_1904))), ! [Eb1909_1909, S_21910_1910, E_b1911_1911, S1912_1912, Pa1913_1913] :  ((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)))), Eb1909_1909), S_21910_1910)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b1911_1911), S1912_1912))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1913_1913)))) => 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)), throw(list(char)), Eb1909_1909)), S_21910_1910)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1911_1911)), S1912_1912))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1913_1913)))))), ! [Eb1914_1914, S_21915_1915, A_41916_1916, S1917_1917, Pa1918_1918] :  ((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)))), Eb1914_1914), S_21915_1915)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41916_1916)), S1917_1917))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1918_1918)))) => 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)), throw(list(char)), Eb1914_1914)), S_21915_1915)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41916_1916)), S1917_1917))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1918_1918)))))), ! [Va_11919_1919, Eb1920_1920, S_21921_1921, Pa1922_1922] :  (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)), Va_11919_1919), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1920_1920))), S_21921_1921)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1920_1920)), S_21921_1921))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1922_1922)))), ! [Eb1923_1923, E_21924_1924, S_21925_1925, Pa1926_1926] :  (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(exp(list(char)), exp(list(char)), throw(list(char)), Eb1923_1923)), E_21924_1924)), S_21925_1925)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1923_1923)), S_21925_1925))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1926_1926)))), ! [Eb1927_1927, F_11928_1928, D1929_1929, E_21930_1930, S_21931_1931, Pa1932_1932] :  (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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1927_1927)), F_11928_1928), D1929_1929), E_21930_1930)), S_21931_1931)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1927_1927)), S_21931_1931))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1932_1932)))), ! [Eb1933_1933, F_11934_1934, D1935_1935, S_21936_1936, Pa1937_1937] :  (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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1933_1933)), F_11934_1934), D1935_1935)), S_21936_1936)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1933_1933)), S_21936_1936))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1937_1937)))), ! [Pa1938_1938, Va_11939_1939, Ta1940_1940, A_41941_1941, S_21942_1942] :  (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, Pa1938_1938), 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)), Va_11939_1939), Ta1940_1940), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41941_1941))))), S_21942_1942), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41941_1941)))), S_21942_1942))), ! [Va1943_1943, F_11944_1944, D1945_1945, Eb1946_1946, S_21947_1947, Pa1948_1948] :  (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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va1943_1943)), F_11944_1944), D1945_1945), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb1946_1946))), S_21947_1947)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1946_1946)), S_21947_1947))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1948_1948)))), ! [Va_11949_1949, Eb1950_1950, S_21951_1951, A_41952_1952, S1953_1953, Pa1954_1954] :  ((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)))), Eb1950_1950), S_21951_1951)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41952_1952)), S1953_1953))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1954_1954)))) => 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)), Va_11949_1949), Eb1950_1950)), S_21951_1951)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41952_1952)), S1953_1953))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1954_1954)))))), ! [E_21955_1955, Eb1956_1956, S_21957_1957, E_b1958_1958, S1959_1959, Pa1960_1960] :  ((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)))), Eb1956_1956), S_21957_1957)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1958_1958)), S1959_1959))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1960_1960)))) => 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)), Eb1956_1956), E_21955_1955)), S_21957_1957)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1958_1958)), S1959_1959))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1960_1960)))))), ! [F_11961_1961, D1962_1962, E_21963_1963, Eb1964_1964, S_21965_1965, E_b1966_1966, S1967_1967, Pa1968_1968] :  ((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)))), Eb1964_1964), S_21965_1965)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1966_1966)), S1967_1967))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1968_1968)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), Eb1964_1964), F_11961_1961), D1962_1962), E_21963_1963)), S_21965_1965)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b1966_1966)), S1967_1967))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1968_1968)))))), ! [F_11969_1969, D1970_1970, Eb1971_1971, S_21972_1972, A_41973_1973, S1974_1974, Pa1975_1975] :  ((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)))), Eb1971_1971), S_21972_1972)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41973_1973)), S1974_1974))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1975_1975)))) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb1971_1971), F_11969_1969), D1970_1970)), S_21972_1972)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_41973_1973)), S1974_1974))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1975_1975)))))), ! [F_11976_1976, D1977_1977, E_21978_1978, Eb1979_1979, S_2_11980_1980, E_11981_1981, S_01982_1982, Va1983_1983, S_11984_1984, Pa1985_1985] :  ((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)))), E_11981_1981), S_01982_1982)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va1983_1983)), S_11984_1984))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1985_1985)))) => (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)))), E_21978_1978), S_11984_1984)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1979_1979)), S_2_11980_1980))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1985_1985)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_11981_1981), F_11976_1976), D1977_1977), E_21978_1978)), S_01982_1982)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb1979_1979)), S_2_11980_1980))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1985_1985))))))), ! [Va_11986_1986, Ta1987_1987, A_41988_1988, S_21989_1989, Pa1990_1990] :  (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)), Va_11986_1986), Ta1987_1987), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41988_1988))))), S_21989_1989)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_41988_1988)))), S_21989_1989))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa1990_1990)))), ! [Pa1991_1991, Va_11992_1992, Eb1993_1993, S_21994_1994, E_b1995_1995, S1996_1996] :  ((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)))), eval, Pa1991_1991), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), lAss(list(char)), Va_11992_1992), Eb1993_1993)), S_21994_1994), E_b1995_1995), S1996_1996)) => ((=(E_b1995_1995, hAPP(val, exp(list(char)), val_1(list(char)), unit)) => ! [V_31997_1997, H1998_1998, L1999_1999] :  ((=(S1996_1996, hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), H1998_1998), 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)), L1999_1999), Va_11992_1992), hAPP(val, option(val), some(val), V_31997_1997)))) => ~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)))), eval, Pa1991_1991), Eb1993_1993), S_21994_1994), hAPP(val, exp(list(char)), val_1(list(char)), V_31997_1997)), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), H1998_1998), L1999_1999)))))) => ~! [E_32000_2000] :  ((=(E_b1995_1995, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_32000_2000)) => ~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)))), eval, Pa1991_1991), Eb1993_1993), S_21994_1994), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_32000_2000)), S1996_1996))))))), ! [X_a2001_2001, E_42002_2002] :  ((hBOOL(hAPP(exp(X_a2001_2001), bool, final(X_a2001_2001), E_42002_2002)) => (! [V_32003_2003] :  (~=(E_42002_2002, hAPP(val, exp(X_a2001_2001), val_1(X_a2001_2001), V_32003_2003))) => ~! [A_32004_2004] :  (~=(E_42002_2002, hAPP(exp(X_a2001_2001), exp(X_a2001_2001), throw(X_a2001_2001), hAPP(val, exp(X_a2001_2001), val_1(X_a2001_2001), hAPP(nat, val, addr, A_32004_2004)))))))), ! [Pa2005_2005, E_12006_2006, E_22007_2007, S_22008_2008, E_b2009_2009, S2010_2010] :  ((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)))), eval, Pa2005_2005), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), seq(list(char)), E_12006_2006), E_22007_2007)), S_22008_2008), E_b2009_2009), S2010_2010)) => (! [V_32011_2011, S_1_12012_2012] :  ((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)))), eval, Pa2005_2005), E_12006_2006), S_22008_2008), hAPP(val, exp(list(char)), val_1(list(char)), V_32011_2011)), S_1_12012_2012)) => ~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)))), eval, Pa2005_2005), E_22007_2007), S_1_12012_2012), E_b2009_2009), S2010_2010)))) => ~! [E2013_2013] :  ((=(E_b2009_2009, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E2013_2013)) => ~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)))), eval, Pa2005_2005), E_12006_2006), S_22008_2008), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E2013_2013)), S2010_2010))))))), ! [E_22014_2014, Va_12015_2015, E_2_12016_2016, H_22017_2017, L_22018_2018, C_12019_2019, D2020_2020, Fs_12021_2021, E_12022_2022, S_02023_2023, A_42024_2024, H_12025_2025, L_12026_2026, Pa2027_2027] :  ((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)))), E_12022_2022), S_02023_2023)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42024_2024)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12025_2025), L_12026_2026)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2027_2027)))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_12025_2025, A_42024_2024), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2020_2020), Fs_12021_2021))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2020_2020), C_12019_2019)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2027_2027)))) => (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)))), E_22014_2014), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12025_2025), 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)), L_12026_2026), Va_12015_2015), hAPP(val, option(val), some(val), hAPP(nat, val, addr, A_42024_2024)))))), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_2_12016_2016), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_22017_2017), L_22018_2018)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2027_2027)))) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), E_2_12016_2016)) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12022_2022), C_12019_2019), Va_12015_2015), E_22014_2014)), S_02023_2023)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_2_12016_2016), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_22017_2017), 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)), L_22018_2018), Va_12015_2015), hAPP(list(char), option(val), L_12026_2026, Va_12015_2015)))))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2027_2027)))))))))), ! [X_a2028_2028, Exp2029_2029, Exp1_12030_2030, List2031_2031, A_12032_2032, Exp2_12033_2033] :  (~=(hAPP(exp(X_a2028_2028), exp(X_a2028_2028), throw(X_a2028_2028), Exp2029_2029), hAPP(exp(X_a2028_2028), exp(X_a2028_2028), hAPP(X_a2028_2028, fun(exp(X_a2028_2028), exp(X_a2028_2028)), hAPP(list(char), fun(X_a2028_2028, fun(exp(X_a2028_2028), exp(X_a2028_2028))), hAPP(exp(X_a2028_2028), fun(list(char), fun(X_a2028_2028, fun(exp(X_a2028_2028), exp(X_a2028_2028)))), tryCatch(X_a2028_2028), Exp1_12030_2030), List2031_2031), A_12032_2032), Exp2_12033_2033))), ! [X_a2034_2034, Exp1_12035_2035, List2036_2036, A_12037_2037, Exp2_12038_2038, Exp2039_2039] :  (~=(hAPP(exp(X_a2034_2034), exp(X_a2034_2034), hAPP(X_a2034_2034, fun(exp(X_a2034_2034), exp(X_a2034_2034)), hAPP(list(char), fun(X_a2034_2034, fun(exp(X_a2034_2034), exp(X_a2034_2034))), hAPP(exp(X_a2034_2034), fun(list(char), fun(X_a2034_2034, fun(exp(X_a2034_2034), exp(X_a2034_2034)))), tryCatch(X_a2034_2034), Exp1_12035_2035), List2036_2036), A_12037_2037), Exp2_12038_2038), hAPP(exp(X_a2034_2034), exp(X_a2034_2034), throw(X_a2034_2034), Exp2039_2039))), ! [C_12040_2040, Va_12041_2041, E_22042_2042, Pa2043_2043, Eb2044_2044, S_22045_2045, E_b2046_2046, S2047_2047] :  ((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, Pa2043_2043), Eb2044_2044), S_22045_2045), E_b2046_2046), S2047_2047)) => 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, Pa2043_2043), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), Eb2044_2044), C_12040_2040), Va_12041_2041), E_22042_2042)), S_22045_2045), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_b2046_2046), C_12040_2040), Va_12041_2041), E_22042_2042)), S2047_2047)))), ! [X_a2048_2048, Val2049_2049, Exp1_12050_2050, List2051_2051, A_12052_2052, Exp2_12053_2053] :  (~=(hAPP(val, exp(X_a2048_2048), val_1(X_a2048_2048), Val2049_2049), hAPP(exp(X_a2048_2048), exp(X_a2048_2048), hAPP(X_a2048_2048, fun(exp(X_a2048_2048), exp(X_a2048_2048)), hAPP(list(char), fun(X_a2048_2048, fun(exp(X_a2048_2048), exp(X_a2048_2048))), hAPP(exp(X_a2048_2048), fun(list(char), fun(X_a2048_2048, fun(exp(X_a2048_2048), exp(X_a2048_2048)))), tryCatch(X_a2048_2048), Exp1_12050_2050), List2051_2051), A_12052_2052), Exp2_12053_2053))), ! [X_a2054_2054, Exp1_12055_2055, List2056_2056, A_12057_2057, Exp2_12058_2058, Val2059_2059] :  (~=(hAPP(exp(X_a2054_2054), exp(X_a2054_2054), hAPP(X_a2054_2054, fun(exp(X_a2054_2054), exp(X_a2054_2054)), hAPP(list(char), fun(X_a2054_2054, fun(exp(X_a2054_2054), exp(X_a2054_2054))), hAPP(exp(X_a2054_2054), fun(list(char), fun(X_a2054_2054, fun(exp(X_a2054_2054), exp(X_a2054_2054)))), tryCatch(X_a2054_2054), Exp1_12055_2055), List2056_2056), A_12057_2057), Exp2_12058_2058), hAPP(val, exp(X_a2054_2054), val_1(X_a2054_2054), Val2059_2059))), ! [X_a2060_2060, Exp1_32061_2061, List_32062_2062, A_42063_2063, Exp2_32064_2064, Exp1_22065_2065, List_22066_2066, A_62067_2067, Exp2_22068_2068] :  ((=(hAPP(exp(X_a2060_2060), exp(X_a2060_2060), hAPP(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060)), hAPP(list(char), fun(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060))), hAPP(exp(X_a2060_2060), fun(list(char), fun(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060)))), tryCatch(X_a2060_2060), Exp1_32061_2061), List_32062_2062), A_42063_2063), Exp2_32064_2064), hAPP(exp(X_a2060_2060), exp(X_a2060_2060), hAPP(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060)), hAPP(list(char), fun(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060))), hAPP(exp(X_a2060_2060), fun(list(char), fun(X_a2060_2060, fun(exp(X_a2060_2060), exp(X_a2060_2060)))), tryCatch(X_a2060_2060), Exp1_22065_2065), List_22066_2066), A_62067_2067), Exp2_22068_2068)) <=> (((=(Exp1_32061_2061, Exp1_22065_2065) & =(List_32062_2062, List_22066_2066)) & =(ti(X_a2060_2060, A_42063_2063), ti(X_a2060_2060, A_62067_2067))) & =(Exp2_32064_2064, Exp2_22068_2068)))), ! [X_a2069_2069, Exp12070_2070, Exp22071_2071, Exp1_12072_2072, List2073_2073, A_12074_2074, Exp2_12075_2075] :  (~=(hAPP(exp(X_a2069_2069), exp(X_a2069_2069), hAPP(exp(X_a2069_2069), fun(exp(X_a2069_2069), exp(X_a2069_2069)), seq(X_a2069_2069), Exp12070_2070), Exp22071_2071), hAPP(exp(X_a2069_2069), exp(X_a2069_2069), hAPP(X_a2069_2069, fun(exp(X_a2069_2069), exp(X_a2069_2069)), hAPP(list(char), fun(X_a2069_2069, fun(exp(X_a2069_2069), exp(X_a2069_2069))), hAPP(exp(X_a2069_2069), fun(list(char), fun(X_a2069_2069, fun(exp(X_a2069_2069), exp(X_a2069_2069)))), tryCatch(X_a2069_2069), Exp1_12072_2072), List2073_2073), A_12074_2074), Exp2_12075_2075))), ! [X_a2076_2076, A_22077_2077, Exp2078_2078, Exp1_12079_2079, List2080_2080, A_12081_2081, Exp2_12082_2082] :  (~=(hAPP(exp(X_a2076_2076), exp(X_a2076_2076), hAPP(X_a2076_2076, fun(exp(X_a2076_2076), exp(X_a2076_2076)), lAss(X_a2076_2076), A_22077_2077), Exp2078_2078), hAPP(exp(X_a2076_2076), exp(X_a2076_2076), hAPP(X_a2076_2076, fun(exp(X_a2076_2076), exp(X_a2076_2076)), hAPP(list(char), fun(X_a2076_2076, fun(exp(X_a2076_2076), exp(X_a2076_2076))), hAPP(exp(X_a2076_2076), fun(list(char), fun(X_a2076_2076, fun(exp(X_a2076_2076), exp(X_a2076_2076)))), tryCatch(X_a2076_2076), Exp1_12079_2079), List2080_2080), A_12081_2081), Exp2_12082_2082))), ! [X_a2083_2083, Exp1_12084_2084, List2085_2085, A_12086_2086, Exp2_12087_2087, Exp12088_2088, Exp22089_2089] :  (~=(hAPP(exp(X_a2083_2083), exp(X_a2083_2083), hAPP(X_a2083_2083, fun(exp(X_a2083_2083), exp(X_a2083_2083)), hAPP(list(char), fun(X_a2083_2083, fun(exp(X_a2083_2083), exp(X_a2083_2083))), hAPP(exp(X_a2083_2083), fun(list(char), fun(X_a2083_2083, fun(exp(X_a2083_2083), exp(X_a2083_2083)))), tryCatch(X_a2083_2083), Exp1_12084_2084), List2085_2085), A_12086_2086), Exp2_12087_2087), hAPP(exp(X_a2083_2083), exp(X_a2083_2083), hAPP(exp(X_a2083_2083), fun(exp(X_a2083_2083), exp(X_a2083_2083)), seq(X_a2083_2083), Exp12088_2088), Exp22089_2089))), ! [X_a2090_2090, Exp1_12091_2091, List2092_2092, A_12093_2093, Exp2_12094_2094, A_22095_2095, Exp2096_2096] :  (~=(hAPP(exp(X_a2090_2090), exp(X_a2090_2090), hAPP(X_a2090_2090, fun(exp(X_a2090_2090), exp(X_a2090_2090)), hAPP(list(char), fun(X_a2090_2090, fun(exp(X_a2090_2090), exp(X_a2090_2090))), hAPP(exp(X_a2090_2090), fun(list(char), fun(X_a2090_2090, fun(exp(X_a2090_2090), exp(X_a2090_2090)))), tryCatch(X_a2090_2090), Exp1_12091_2091), List2092_2092), A_12093_2093), Exp2_12094_2094), hAPP(exp(X_a2090_2090), exp(X_a2090_2090), hAPP(X_a2090_2090, fun(exp(X_a2090_2090), exp(X_a2090_2090)), lAss(X_a2090_2090), A_22095_2095), Exp2096_2096))), ! [X_a2097_2097, Exp1_12098_2098, List2099_2099, A_12100_2100, Exp2_12101_2101, Exp12102_2102, List12103_2103, List22104_2104, Exp22105_2105] :  (~=(hAPP(exp(X_a2097_2097), exp(X_a2097_2097), hAPP(X_a2097_2097, fun(exp(X_a2097_2097), exp(X_a2097_2097)), hAPP(list(char), fun(X_a2097_2097, fun(exp(X_a2097_2097), exp(X_a2097_2097))), hAPP(exp(X_a2097_2097), fun(list(char), fun(X_a2097_2097, fun(exp(X_a2097_2097), exp(X_a2097_2097)))), tryCatch(X_a2097_2097), Exp1_12098_2098), List2099_2099), A_12100_2100), Exp2_12101_2101), hAPP(exp(X_a2097_2097), exp(X_a2097_2097), hAPP(list(char), fun(exp(X_a2097_2097), exp(X_a2097_2097)), hAPP(list(char), fun(list(char), fun(exp(X_a2097_2097), exp(X_a2097_2097))), hAPP(exp(X_a2097_2097), fun(list(char), fun(list(char), fun(exp(X_a2097_2097), exp(X_a2097_2097)))), fAss(X_a2097_2097), Exp12102_2102), List12103_2103), List22104_2104), Exp22105_2105))), ! [X_a2106_2106, Exp12107_2107, List12108_2108, List22109_2109, Exp22110_2110, Exp1_12111_2111, List2112_2112, A_12113_2113, Exp2_12114_2114] :  (~=(hAPP(exp(X_a2106_2106), exp(X_a2106_2106), hAPP(list(char), fun(exp(X_a2106_2106), exp(X_a2106_2106)), hAPP(list(char), fun(list(char), fun(exp(X_a2106_2106), exp(X_a2106_2106))), hAPP(exp(X_a2106_2106), fun(list(char), fun(list(char), fun(exp(X_a2106_2106), exp(X_a2106_2106)))), fAss(X_a2106_2106), Exp12107_2107), List12108_2108), List22109_2109), Exp22110_2110), hAPP(exp(X_a2106_2106), exp(X_a2106_2106), hAPP(X_a2106_2106, fun(exp(X_a2106_2106), exp(X_a2106_2106)), hAPP(list(char), fun(X_a2106_2106, fun(exp(X_a2106_2106), exp(X_a2106_2106))), hAPP(exp(X_a2106_2106), fun(list(char), fun(X_a2106_2106, fun(exp(X_a2106_2106), exp(X_a2106_2106)))), tryCatch(X_a2106_2106), Exp1_12111_2111), List2112_2112), A_12113_2113), Exp2_12114_2114))), ! [X_a2115_2115, A_22116_2116, Ty2117_2117, Exp2118_2118, Exp1_12119_2119, List2120_2120, A_12121_2121, Exp2_12122_2122] :  (~=(hAPP(exp(X_a2115_2115), exp(X_a2115_2115), hAPP(ty, fun(exp(X_a2115_2115), exp(X_a2115_2115)), hAPP(X_a2115_2115, fun(ty, fun(exp(X_a2115_2115), exp(X_a2115_2115))), block(X_a2115_2115), A_22116_2116), Ty2117_2117), Exp2118_2118), hAPP(exp(X_a2115_2115), exp(X_a2115_2115), hAPP(X_a2115_2115, fun(exp(X_a2115_2115), exp(X_a2115_2115)), hAPP(list(char), fun(X_a2115_2115, fun(exp(X_a2115_2115), exp(X_a2115_2115))), hAPP(exp(X_a2115_2115), fun(list(char), fun(X_a2115_2115, fun(exp(X_a2115_2115), exp(X_a2115_2115)))), tryCatch(X_a2115_2115), Exp1_12119_2119), List2120_2120), A_12121_2121), Exp2_12122_2122))), ! [X_a2123_2123, Exp1_12124_2124, List2125_2125, A_12126_2126, Exp2_12127_2127, A_22128_2128, Ty2129_2129, Exp2130_2130] :  (~=(hAPP(exp(X_a2123_2123), exp(X_a2123_2123), hAPP(X_a2123_2123, fun(exp(X_a2123_2123), exp(X_a2123_2123)), hAPP(list(char), fun(X_a2123_2123, fun(exp(X_a2123_2123), exp(X_a2123_2123))), hAPP(exp(X_a2123_2123), fun(list(char), fun(X_a2123_2123, fun(exp(X_a2123_2123), exp(X_a2123_2123)))), tryCatch(X_a2123_2123), Exp1_12124_2124), List2125_2125), A_12126_2126), Exp2_12127_2127), hAPP(exp(X_a2123_2123), exp(X_a2123_2123), hAPP(ty, fun(exp(X_a2123_2123), exp(X_a2123_2123)), hAPP(X_a2123_2123, fun(ty, fun(exp(X_a2123_2123), exp(X_a2123_2123))), block(X_a2123_2123), A_22128_2128), Ty2129_2129), Exp2130_2130))), ! [X_a2131_2131, Exp1_12132_2132, List2133_2133, A_12134_2134, Exp2_12135_2135, Exp2136_2136, List12137_2137, List22138_2138] :  (~=(hAPP(exp(X_a2131_2131), exp(X_a2131_2131), hAPP(X_a2131_2131, fun(exp(X_a2131_2131), exp(X_a2131_2131)), hAPP(list(char), fun(X_a2131_2131, fun(exp(X_a2131_2131), exp(X_a2131_2131))), hAPP(exp(X_a2131_2131), fun(list(char), fun(X_a2131_2131, fun(exp(X_a2131_2131), exp(X_a2131_2131)))), tryCatch(X_a2131_2131), Exp1_12132_2132), List2133_2133), A_12134_2134), Exp2_12135_2135), hAPP(list(char), exp(X_a2131_2131), hAPP(list(char), fun(list(char), exp(X_a2131_2131)), hAPP(exp(X_a2131_2131), fun(list(char), fun(list(char), exp(X_a2131_2131))), fAcc(X_a2131_2131), Exp2136_2136), List12137_2137), List22138_2138))), ! [X_a2139_2139, Exp2140_2140, List12141_2141, List22142_2142, Exp1_12143_2143, List2144_2144, A_12145_2145, Exp2_12146_2146] :  (~=(hAPP(list(char), exp(X_a2139_2139), hAPP(list(char), fun(list(char), exp(X_a2139_2139)), hAPP(exp(X_a2139_2139), fun(list(char), fun(list(char), exp(X_a2139_2139))), fAcc(X_a2139_2139), Exp2140_2140), List12141_2141), List22142_2142), hAPP(exp(X_a2139_2139), exp(X_a2139_2139), hAPP(X_a2139_2139, fun(exp(X_a2139_2139), exp(X_a2139_2139)), hAPP(list(char), fun(X_a2139_2139, fun(exp(X_a2139_2139), exp(X_a2139_2139))), hAPP(exp(X_a2139_2139), fun(list(char), fun(X_a2139_2139, fun(exp(X_a2139_2139), exp(X_a2139_2139)))), tryCatch(X_a2139_2139), Exp1_12143_2143), List2144_2144), A_12145_2145), Exp2_12146_2146))), ! [C_12147_2147, Va_12148_2148, E_22149_2149, Pa2150_2150, E_12151_2151, S_02152_2152, V_12153_2153, S_12154_2154] :  ((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)))), eval, Pa2150_2150), E_12151_2151), S_02152_2152), hAPP(val, exp(list(char)), val_1(list(char)), V_12153_2153)), S_12154_2154)) => 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)))), eval, Pa2150_2150), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12151_2151), C_12147_2147), Va_12148_2148), E_22149_2149)), S_02152_2152), hAPP(val, exp(list(char)), val_1(list(char)), V_12153_2153)), S_12154_2154)))), ! [Pa2155_2155, Va2156_2156, C_12157_2157, Va_12158_2158, E_22159_2159, S_22160_2160] :  (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, Pa2155_2155), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va2156_2156)), C_12157_2157), Va_12158_2158), E_22159_2159)), S_22160_2160), hAPP(val, exp(list(char)), val_1(list(char)), Va2156_2156)), S_22160_2160))), ! [X_a2161_2161, C_52162_2162, Pa2163_2163, C_12164_2164, F_12165_2165, Ta2166_2166, D2167_2167] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2161_2161)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), has_field(X_a2161_2161), Pa2163_2163), C_12164_2164), F_12165_2165), Ta2166_2166), D2167_2167)) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), C_52162_2162), C_12164_2164)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2161_2161)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2161_2161), Pa2163_2163)))) => hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2161_2161)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), has_field(X_a2161_2161), Pa2163_2163), C_52162_2162), F_12165_2165), Ta2166_2166), D2167_2167))))), ! [C_12168_2168, Va_12169_2169, E_22170_2170, Eb2171_2171, S_22172_2172, E_b2173_2173, S2174_2174, Pa2175_2175] :  ((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)))), Eb2171_2171), S_22172_2172)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2173_2173), S2174_2174))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2175_2175))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), Eb2171_2171), C_12168_2168), Va_12169_2169), E_22170_2170)), S_22172_2172)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_b2173_2173), C_12168_2168), Va_12169_2169), E_22170_2170)), S2174_2174))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2175_2175))))), ! [Va2176_2176, C_12177_2177, Va_12178_2178, E_22179_2179, S_22180_2180, Pa2181_2181] :  (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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va2176_2176)), C_12177_2177), Va_12178_2178), E_22179_2179)), S_22180_2180)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va2176_2176)), S_22180_2180))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2181_2181)))), ! [C_12182_2182, Va_12183_2183, E_22184_2184, Eb2185_2185, S_22186_2186, E_b2187_2187, S2188_2188, Pa2189_2189] :  ((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)))), Eb2185_2185), S_22186_2186)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2187_2187), S2188_2188))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2189_2189)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), Eb2185_2185), C_12182_2182), Va_12183_2183), E_22184_2184)), S_22186_2186)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_b2187_2187), C_12182_2182), Va_12183_2183), E_22184_2184)), S2188_2188))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2189_2189)))))), ! [Va_12190_2190, E_22191_2191, C_12192_2192, D2193_2193, Fs_12194_2194, Pa2195_2195, E_12196_2196, S_02197_2197, A_42198_2198, H_12199_2199, L_12200_2200] :  ((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)))), eval, Pa2195_2195), E_12196_2196), S_02197_2197), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42198_2198)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12199_2199), L_12200_2200))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_12199_2199, A_42198_2198), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2193_2193), Fs_12194_2194))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2193_2193), C_12192_2192)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2195_2195)))) => 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)))), eval, Pa2195_2195), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12196_2196), C_12192_2192), Va_12190_2190), E_22191_2191)), S_02197_2197), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42198_2198)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12199_2199), L_12200_2200))))))), ! [C_12201_2201, Va_12202_2202, E_22203_2203, Eb2204_2204, S_22205_2205, Va2206_2206, S2207_2207, Pa2208_2208] :  ((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)))), Eb2204_2204), S_22205_2205)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va2206_2206)), S2207_2207))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2208_2208)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), Eb2204_2204), C_12201_2201), Va_12202_2202), E_22203_2203)), S_22205_2205)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va2206_2206)), S2207_2207))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2208_2208)))))), ! [Va_12209_2209, E_22210_2210, C_12211_2211, Pa2212_2212, S_22213_2213, A_42214_2214, D2215_2215, Fs_12216_2216] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22213_2213), A_42214_2214), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2215_2215), Fs_12216_2216))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2215_2215), C_12211_2211)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2212_2212)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42214_2214)))), C_12211_2211), Va_12209_2209), E_22210_2210)), S_22213_2213)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42214_2214)))), S_22213_2213))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2212_2212)))))), ! [E_22217_2217, Va_12218_2218, E_2_12219_2219, H_22220_2220, L_22221_2221, C_12222_2222, D2223_2223, Fs_12224_2224, Pa2225_2225, E_12226_2226, S_02227_2227, A_42228_2228, H_12229_2229, L_12230_2230] :  ((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)))), eval, Pa2225_2225), E_12226_2226), S_02227_2227), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42228_2228)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12229_2229), L_12230_2230))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), H_12229_2229, A_42228_2228), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2223_2223), Fs_12224_2224))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2223_2223), C_12222_2222)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2225_2225)))) => (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)))), eval, Pa2225_2225), E_22217_2217), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_12229_2229), 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)), L_12230_2230), Va_12218_2218), hAPP(val, option(val), some(val), hAPP(nat, val, addr, A_42228_2228))))), E_2_12219_2219), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_22220_2220), L_22221_2221))) => 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)))), eval, Pa2225_2225), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12226_2226), C_12222_2222), Va_12218_2218), E_22217_2217)), S_02227_2227), E_2_12219_2219), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(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_22220_2220), 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)), L_22221_2221), Va_12218_2218), hAPP(list(char), option(val), L_12230_2230, Va_12218_2218)))))))))), ! [Va_12231_2231, E_22232_2232, C_12233_2233, D2234_2234, Fs_12235_2235, E_12236_2236, S_22237_2237, A_42238_2238, Hb2239_2239, Lb2240_2240, Pa2241_2241] :  ((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)))), E_12236_2236), S_22237_2237)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42238_2238)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2239_2239), Lb2240_2240)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2241_2241)))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb2239_2239, A_42238_2238), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2234_2234), Fs_12235_2235))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2234_2234), C_12233_2233)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2241_2241)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12236_2236), C_12233_2233), Va_12231_2231), E_22232_2232)), S_22237_2237)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42238_2238)))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2239_2239), Lb2240_2240)))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2241_2241)))))))), ! [Va_12242_2242, E_22243_2243, C_12244_2244, Pa2245_2245, S_22246_2246, A_42247_2247, D2248_2248, Fs_12249_2249] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22246_2246), A_42247_2247), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2248_2248), Fs_12249_2249))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2248_2248), C_12244_2244)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2245_2245)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42247_2247)))), C_12244_2244), Va_12242_2242), E_22243_2243)), S_22246_2246)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), Va_12242_2242), hAPP(list(char), ty, class, C_12244_2244)), 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)), Va_12242_2242), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42247_2247)))), E_22243_2243))), S_22246_2246))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2245_2245)))))), ! [C_12250_2250, D2251_2251, Fs_12252_2252, Eb2253_2253, S_22254_2254, A_42255_2255, S2256_2256, Pa2257_2257] :  ((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)))), Eb2253_2253), S_22254_2254)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_42255_2255))), S2256_2256))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2257_2257)))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S2256_2256), A_42255_2255), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2251_2251), Fs_12252_2252))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2251_2251), C_12250_2250)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2257_2257)))) => 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))), cast(list(char)), C_12250_2250), Eb2253_2253)), S_22254_2254)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_42255_2255))), S2256_2256))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2257_2257)))))))), ! [C_12258_2258, Pa2259_2259, S_22260_2260, A_42261_2261, D2262_2262, Fs_12263_2263] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22260_2260), A_42261_2261), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2262_2262), Fs_12263_2263))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2262_2262), C_12258_2258)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2259_2259)))) => 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))), cast(list(char)), C_12258_2258), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42261_2261)))), S_22260_2260)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_42261_2261))), S_22260_2260))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2259_2259)))))), ! [Va_12264_2264, C_12265_2265, E_22266_2266, T_2_22267_2267, Pa2268_2268, Hb2269_2269, Ea2270_2270, E_12271_2271, T_1_22272_2272] :  ((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, Pa2268_2268), Hb2269_2269), Ea2270_2270), E_12271_2271), T_1_22272_2272)) => (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, Pa2268_2268), Hb2269_2269), 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)), Ea2270_2270), Va_12264_2264), hAPP(ty, option(ty), some(ty), hAPP(list(char), ty, class, C_12265_2265)))), E_22266_2266), T_2_22267_2267)) => (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)))), Pa2268_2268), T_1_22272_2272), T_2_22267_2267)) => 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, Pa2268_2268), Hb2269_2269), Ea2270_2270), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12271_2271), C_12265_2265), Va_12264_2264), E_22266_2266)), T_2_22267_2267)))))), ! [X_a2273_2273, Exp_12274_2274, List_12275_2275, Exp2276_2276] :  (~=(hAPP(exp(X_a2273_2273), exp(X_a2273_2273), throw(X_a2273_2273), Exp_12274_2274), hAPP(exp(X_a2273_2273), exp(X_a2273_2273), hAPP(list(char), fun(exp(X_a2273_2273), exp(X_a2273_2273)), cast(X_a2273_2273), List_12275_2275), Exp2276_2276))), ! [X_a2277_2277, List_12278_2278, Exp2279_2279, Exp_12280_2280] :  (~=(hAPP(exp(X_a2277_2277), exp(X_a2277_2277), hAPP(list(char), fun(exp(X_a2277_2277), exp(X_a2277_2277)), cast(X_a2277_2277), List_12278_2278), Exp2279_2279), hAPP(exp(X_a2277_2277), exp(X_a2277_2277), throw(X_a2277_2277), Exp_12280_2280))), ! [X_a2281_2281, Exp1_12282_2282, List2283_2283, A_12284_2284, Exp2_12285_2285, List_12286_2286, Exp2287_2287] :  (~=(hAPP(exp(X_a2281_2281), exp(X_a2281_2281), hAPP(X_a2281_2281, fun(exp(X_a2281_2281), exp(X_a2281_2281)), hAPP(list(char), fun(X_a2281_2281, fun(exp(X_a2281_2281), exp(X_a2281_2281))), hAPP(exp(X_a2281_2281), fun(list(char), fun(X_a2281_2281, fun(exp(X_a2281_2281), exp(X_a2281_2281)))), tryCatch(X_a2281_2281), Exp1_12282_2282), List2283_2283), A_12284_2284), Exp2_12285_2285), hAPP(exp(X_a2281_2281), exp(X_a2281_2281), hAPP(list(char), fun(exp(X_a2281_2281), exp(X_a2281_2281)), cast(X_a2281_2281), List_12286_2286), Exp2287_2287))), ! [X_a2288_2288, List_12289_2289, Exp2290_2290, Exp1_12291_2291, List2292_2292, A_12293_2293, Exp2_12294_2294] :  (~=(hAPP(exp(X_a2288_2288), exp(X_a2288_2288), hAPP(list(char), fun(exp(X_a2288_2288), exp(X_a2288_2288)), cast(X_a2288_2288), List_12289_2289), Exp2290_2290), hAPP(exp(X_a2288_2288), exp(X_a2288_2288), hAPP(X_a2288_2288, fun(exp(X_a2288_2288), exp(X_a2288_2288)), hAPP(list(char), fun(X_a2288_2288, fun(exp(X_a2288_2288), exp(X_a2288_2288))), hAPP(exp(X_a2288_2288), fun(list(char), fun(X_a2288_2288, fun(exp(X_a2288_2288), exp(X_a2288_2288)))), tryCatch(X_a2288_2288), Exp1_12291_2291), List2292_2292), A_12293_2293), Exp2_12294_2294))), ! [X_a2295_2295, Exp1_12296_2296, Exp2_12297_2297, List_12298_2298, Exp2299_2299] :  (~=(hAPP(exp(X_a2295_2295), exp(X_a2295_2295), hAPP(exp(X_a2295_2295), fun(exp(X_a2295_2295), exp(X_a2295_2295)), seq(X_a2295_2295), Exp1_12296_2296), Exp2_12297_2297), hAPP(exp(X_a2295_2295), exp(X_a2295_2295), hAPP(list(char), fun(exp(X_a2295_2295), exp(X_a2295_2295)), cast(X_a2295_2295), List_12298_2298), Exp2299_2299))), ! [X_a2300_2300, List_12301_2301, Exp2302_2302, Exp1_12303_2303, Exp2_12304_2304] :  (~=(hAPP(exp(X_a2300_2300), exp(X_a2300_2300), hAPP(list(char), fun(exp(X_a2300_2300), exp(X_a2300_2300)), cast(X_a2300_2300), List_12301_2301), Exp2302_2302), hAPP(exp(X_a2300_2300), exp(X_a2300_2300), hAPP(exp(X_a2300_2300), fun(exp(X_a2300_2300), exp(X_a2300_2300)), seq(X_a2300_2300), Exp1_12303_2303), Exp2_12304_2304))), ! [X_a2305_2305, List_12306_2306, Exp2307_2307, A_12308_2308, Exp_12309_2309] :  (~=(hAPP(exp(X_a2305_2305), exp(X_a2305_2305), hAPP(list(char), fun(exp(X_a2305_2305), exp(X_a2305_2305)), cast(X_a2305_2305), List_12306_2306), Exp2307_2307), hAPP(exp(X_a2305_2305), exp(X_a2305_2305), hAPP(X_a2305_2305, fun(exp(X_a2305_2305), exp(X_a2305_2305)), lAss(X_a2305_2305), A_12308_2308), Exp_12309_2309))), ! [X_a2310_2310, A_12311_2311, Exp_12312_2312, List_12313_2313, Exp2314_2314] :  (~=(hAPP(exp(X_a2310_2310), exp(X_a2310_2310), hAPP(X_a2310_2310, fun(exp(X_a2310_2310), exp(X_a2310_2310)), lAss(X_a2310_2310), A_12311_2311), Exp_12312_2312), hAPP(exp(X_a2310_2310), exp(X_a2310_2310), hAPP(list(char), fun(exp(X_a2310_2310), exp(X_a2310_2310)), cast(X_a2310_2310), List_12313_2313), Exp2314_2314))), ! [X_a2315_2315, Exp1_12316_2316, List1_12317_2317, List2_12318_2318, Exp2_12319_2319, List_12320_2320, Exp2321_2321] :  (~=(hAPP(exp(X_a2315_2315), exp(X_a2315_2315), hAPP(list(char), fun(exp(X_a2315_2315), exp(X_a2315_2315)), hAPP(list(char), fun(list(char), fun(exp(X_a2315_2315), exp(X_a2315_2315))), hAPP(exp(X_a2315_2315), fun(list(char), fun(list(char), fun(exp(X_a2315_2315), exp(X_a2315_2315)))), fAss(X_a2315_2315), Exp1_12316_2316), List1_12317_2317), List2_12318_2318), Exp2_12319_2319), hAPP(exp(X_a2315_2315), exp(X_a2315_2315), hAPP(list(char), fun(exp(X_a2315_2315), exp(X_a2315_2315)), cast(X_a2315_2315), List_12320_2320), Exp2321_2321))), ! [X_a2322_2322, List_12323_2323, Exp2324_2324, Exp1_12325_2325, List1_12326_2326, List2_12327_2327, Exp2_12328_2328] :  (~=(hAPP(exp(X_a2322_2322), exp(X_a2322_2322), hAPP(list(char), fun(exp(X_a2322_2322), exp(X_a2322_2322)), cast(X_a2322_2322), List_12323_2323), Exp2324_2324), hAPP(exp(X_a2322_2322), exp(X_a2322_2322), hAPP(list(char), fun(exp(X_a2322_2322), exp(X_a2322_2322)), hAPP(list(char), fun(list(char), fun(exp(X_a2322_2322), exp(X_a2322_2322))), hAPP(exp(X_a2322_2322), fun(list(char), fun(list(char), fun(exp(X_a2322_2322), exp(X_a2322_2322)))), fAss(X_a2322_2322), Exp1_12325_2325), List1_12326_2326), List2_12327_2327), Exp2_12328_2328))), ! [X_a2329_2329, List_12330_2330, Exp2331_2331, A_12332_2332, Ty_12333_2333, Exp_12334_2334] :  (~=(hAPP(exp(X_a2329_2329), exp(X_a2329_2329), hAPP(list(char), fun(exp(X_a2329_2329), exp(X_a2329_2329)), cast(X_a2329_2329), List_12330_2330), Exp2331_2331), hAPP(exp(X_a2329_2329), exp(X_a2329_2329), hAPP(ty, fun(exp(X_a2329_2329), exp(X_a2329_2329)), hAPP(X_a2329_2329, fun(ty, fun(exp(X_a2329_2329), exp(X_a2329_2329))), block(X_a2329_2329), A_12332_2332), Ty_12333_2333), Exp_12334_2334))), ! [X_a2335_2335, A_12336_2336, Ty_12337_2337, Exp_12338_2338, List_12339_2339, Exp2340_2340] :  (~=(hAPP(exp(X_a2335_2335), exp(X_a2335_2335), hAPP(ty, fun(exp(X_a2335_2335), exp(X_a2335_2335)), hAPP(X_a2335_2335, fun(ty, fun(exp(X_a2335_2335), exp(X_a2335_2335))), block(X_a2335_2335), A_12336_2336), Ty_12337_2337), Exp_12338_2338), hAPP(exp(X_a2335_2335), exp(X_a2335_2335), hAPP(list(char), fun(exp(X_a2335_2335), exp(X_a2335_2335)), cast(X_a2335_2335), List_12339_2339), Exp2340_2340))), ! [X_a2341_2341, Exp_12342_2342, List1_12343_2343, List2_12344_2344, List_12345_2345, Exp2346_2346] :  (~=(hAPP(list(char), exp(X_a2341_2341), hAPP(list(char), fun(list(char), exp(X_a2341_2341)), hAPP(exp(X_a2341_2341), fun(list(char), fun(list(char), exp(X_a2341_2341))), fAcc(X_a2341_2341), Exp_12342_2342), List1_12343_2343), List2_12344_2344), hAPP(exp(X_a2341_2341), exp(X_a2341_2341), hAPP(list(char), fun(exp(X_a2341_2341), exp(X_a2341_2341)), cast(X_a2341_2341), List_12345_2345), Exp2346_2346))), ! [X_a2347_2347, List_12348_2348, Exp2349_2349, Exp_12350_2350, List1_12351_2351, List2_12352_2352] :  (~=(hAPP(exp(X_a2347_2347), exp(X_a2347_2347), hAPP(list(char), fun(exp(X_a2347_2347), exp(X_a2347_2347)), cast(X_a2347_2347), List_12348_2348), Exp2349_2349), hAPP(list(char), exp(X_a2347_2347), hAPP(list(char), fun(list(char), exp(X_a2347_2347)), hAPP(exp(X_a2347_2347), fun(list(char), fun(list(char), exp(X_a2347_2347))), fAcc(X_a2347_2347), Exp_12350_2350), List1_12351_2351), List2_12352_2352))), ! [X_a2353_2353, C_12354_2354, Eb2355_2355, A_52356_2356] :  ((hBOOL(hAPP(option(fun(X_a2353_2353, bool)), bool, hAPP(exp(X_a2353_2353), fun(option(fun(X_a2353_2353, bool)), bool), d(X_a2353_2353), hAPP(exp(X_a2353_2353), exp(X_a2353_2353), hAPP(list(char), fun(exp(X_a2353_2353), exp(X_a2353_2353)), cast(X_a2353_2353), C_12354_2354), Eb2355_2355)), A_52356_2356)) <=> hBOOL(hAPP(option(fun(X_a2353_2353, bool)), bool, hAPP(exp(X_a2353_2353), fun(option(fun(X_a2353_2353, bool)), bool), d(X_a2353_2353), Eb2355_2355), A_52356_2356)))), ! [X_a2357_2357, List_32358_2358, Exp_32359_2359, List_22360_2360, Exp_22361_2361] :  ((=(hAPP(exp(X_a2357_2357), exp(X_a2357_2357), hAPP(list(char), fun(exp(X_a2357_2357), exp(X_a2357_2357)), cast(X_a2357_2357), List_32358_2358), Exp_32359_2359), hAPP(exp(X_a2357_2357), exp(X_a2357_2357), hAPP(list(char), fun(exp(X_a2357_2357), exp(X_a2357_2357)), cast(X_a2357_2357), List_22360_2360), Exp_22361_2361)) <=> (=(List_32358_2358, List_22360_2360) & =(Exp_32359_2359, Exp_22361_2361)))), ! [X_a2362_2362, List_12363_2363, Exp2364_2364, Val_12365_2365] :  (~=(hAPP(exp(X_a2362_2362), exp(X_a2362_2362), hAPP(list(char), fun(exp(X_a2362_2362), exp(X_a2362_2362)), cast(X_a2362_2362), List_12363_2363), Exp2364_2364), hAPP(val, exp(X_a2362_2362), val_1(X_a2362_2362), Val_12365_2365))), ! [X_a2366_2366, Val_12367_2367, List_12368_2368, Exp2369_2369] :  (~=(hAPP(val, exp(X_a2366_2366), val_1(X_a2366_2366), Val_12367_2367), hAPP(exp(X_a2366_2366), exp(X_a2366_2366), hAPP(list(char), fun(exp(X_a2366_2366), exp(X_a2366_2366)), cast(X_a2366_2366), List_12368_2368), Exp2369_2369))), ! [C_12370_2370, Pa2371_2371, Eb2372_2372, S_22373_2373, E_b2374_2374, S2375_2375] :  ((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, Pa2371_2371), Eb2372_2372), S_22373_2373), E_b2374_2374), S2375_2375)) => 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, Pa2371_2371), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12370_2370), Eb2372_2372)), S_22373_2373), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12370_2370), E_b2374_2374)), S2375_2375)))), ! [C_12376_2376, Pa2377_2377, Eb2378_2378, S_02379_2379, E_b2380_2380, S_12381_2381] :  ((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)))), eval, Pa2377_2377), Eb2378_2378), S_02379_2379), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b2380_2380)), S_12381_2381)) => 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)))), eval, Pa2377_2377), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12376_2376), Eb2378_2378)), S_02379_2379), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b2380_2380)), S_12381_2381)))), ! [Pa2382_2382, C_12383_2383, Eb2384_2384, S_22385_2385] :  (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, Pa2382_2382), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12383_2383), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2384_2384))), S_22385_2385), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2384_2384)), S_22385_2385))), ! [F_12386_2386, Ta2387_2387, D2388_2388, Pa2389_2389, Hb2390_2390, Ea2391_2391, Eb2392_2392, C_12393_2393] :  ((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, Pa2389_2389), Hb2390_2390), Ea2391_2391), Eb2392_2392), hAPP(list(char), ty, class, C_12393_2393))) => (hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), fun(ty, fun(list(char), bool)))), has_field(product_prod(list(list(char)), exp(list(char)))), Pa2389_2389), C_12393_2393), F_12386_2386), Ta2387_2387), D2388_2388)) => 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, Pa2389_2389), Hb2390_2390), Ea2391_2391), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb2392_2392), F_12386_2386), D2388_2388)), Ta2387_2387))))), ! [C_12394_2394, Eb2395_2395, S_22396_2396, E_b2397_2397, S2398_2398, Pa2399_2399] :  ((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)))), Eb2395_2395), S_22396_2396)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2397_2397), S2398_2398))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2399_2399))) => 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))), cast(list(char)), C_12394_2394), Eb2395_2395)), S_22396_2396)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), cast(list(char)), C_12394_2394), E_b2397_2397)), S2398_2398))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2399_2399))))), ! [C_12400_2400, Eb2401_2401, S_22402_2402, Pa2403_2403] :  (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))), cast(list(char)), C_12400_2400), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2401_2401))), S_22402_2402)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb2401_2401)), S_22402_2402))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2403_2403)))), ! [C_12404_2404, Eb2405_2405, S_22406_2406, E_b2407_2407, S2408_2408, Pa2409_2409] :  ((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)))), Eb2405_2405), S_22406_2406)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2407_2407), S2408_2408))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2409_2409)))) => 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))), cast(list(char)), C_12404_2404), Eb2405_2405)), S_22406_2406)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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))), cast(list(char)), C_12404_2404), E_b2407_2407)), S2408_2408))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2409_2409)))))), ! [X_a2410_2410, Pa2411_2411, C_12412_2412, D2413_2413] :  ((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, X_a2410_2410)))))))), fun(ty, fun(ty, bool)), widen(X_a2410_2410), Pa2411_2411), hAPP(list(char), ty, class, C_12412_2412)), hAPP(list(char), ty, class, D2413_2413))) <=> hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), C_12412_2412), D2413_2413)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2410_2410)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2410_2410), Pa2411_2411)))))), ! [X_a2414_2414, C_12415_2415, D2416_2416, Pa2417_2417] :  ((hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), C_12415_2415), D2416_2416)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2414_2414)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2414_2414), Pa2417_2417)))) => 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, X_a2414_2414)))))))), fun(ty, fun(ty, bool)), widen(X_a2414_2414), Pa2417_2417), hAPP(list(char), ty, class, C_12415_2415)), hAPP(list(char), ty, class, D2416_2416))))), ! [E_22418_2418, T_2_22419_2419, F_12420_2420, Ta2421_2421, D2422_2422, Pa2423_2423, Hb2424_2424, Ea2425_2425, E_12426_2426, C_12427_2427] :  ((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, Pa2423_2423), Hb2424_2424), Ea2425_2425), E_12426_2426), hAPP(list(char), ty, class, C_12427_2427))) => (hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), fun(ty, fun(list(char), bool)))), has_field(product_prod(list(list(char)), exp(list(char)))), Pa2423_2423), C_12427_2427), F_12420_2420), Ta2421_2421), D2422_2422)) => (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, Pa2423_2423), Hb2424_2424), Ea2425_2425), E_22418_2418), T_2_22419_2419)) => (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)))), Pa2423_2423), T_2_22419_2419), Ta2421_2421)) => 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, Pa2423_2423), Hb2424_2424), Ea2425_2425), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_12426_2426), F_12420_2420), D2422_2422), E_22418_2418)), void))))))), ! [C_12428_2428, Eb2429_2429, S_22430_2430, A_42431_2431, S2432_2432, Pa2433_2433] :  ((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)))), Eb2429_2429), S_22430_2430)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_42431_2431)), S2432_2432))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2433_2433)))) => 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))), cast(list(char)), C_12428_2428), Eb2429_2429)), S_22430_2430)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), A_42431_2431)), S2432_2432))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2433_2433)))))), ! [C_12434_2434, D2435_2435, Fs_12436_2436, Pa2437_2437, Eb2438_2438, S_02439_2439, A_42440_2440, Hb2441_2441, Lb2442_2442] :  ((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)))), eval, Pa2437_2437), Eb2438_2438), S_02439_2439), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42440_2440))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2441_2441), Lb2442_2442))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb2441_2441, A_42440_2440), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2435_2435), Fs_12436_2436))) => (hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2435_2435), C_12434_2434)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2437_2437)))) => 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)))), eval, Pa2437_2437), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12434_2434), Eb2438_2438)), S_02439_2439), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42440_2440))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2441_2441), Lb2442_2442))))))), ! [Pa2443_2443, Hb2444_2444, Ea2445_2445, E_12446_2446, C_12447_2447, Va_12448_2448, E_22449_2449, Ta2450_2450] :  ((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, Pa2443_2443), Hb2444_2444), Ea2445_2445), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), E_12446_2446), C_12447_2447), Va_12448_2448), E_22449_2449)), Ta2450_2450)) => ~! [T_1_12451_2451] :  ((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, Pa2443_2443), Hb2444_2444), Ea2445_2445), E_12446_2446), T_1_12451_2451)) => (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, Pa2443_2443), Hb2444_2444), 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)), Ea2445_2445), Va_12448_2448), hAPP(ty, option(ty), some(ty), hAPP(list(char), ty, class, C_12447_2447)))), E_22449_2449), Ta2450_2450)) => ~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)))), Pa2443_2443), T_1_12451_2451), Ta2450_2450))))))), ! [Pa2452_2452, Hb2453_2453, Ea2454_2454, Eb2455_2455, C_12456_2456] :  ((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, Pa2452_2452), Hb2453_2453), Ea2454_2454), Eb2455_2455), hAPP(list(char), ty, class, C_12456_2456))) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), Eb2455_2455)) => (! [A_32457_2457] :  (~=(Eb2455_2455, hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32457_2457)))) => ~! [A_32458_2458] :  (~=(Eb2455_2455, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32458_2458))))))))), ! [C_12459_2459, D2460_2460, Fs_12461_2461, Eb2462_2462, S_22463_2463, A_42464_2464, S2465_2465, Pa2466_2466] :  ((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)))), Eb2462_2462), S_22463_2463)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(nat, val, addr, A_42464_2464))), S2465_2465))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2466_2466)))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S2465_2465), A_42464_2464), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2460_2460), Fs_12461_2461))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2460_2460), C_12459_2459)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2466_2466)))) => 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))), cast(list(char)), C_12459_2459), Eb2462_2462)), S_22463_2463)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, classCast))))), S2465_2465))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2466_2466)))))))), ! [C_12467_2467, D2468_2468, Fs_12469_2469, Pa2470_2470, Eb2471_2471, S_02472_2472, A_42473_2473, Hb2474_2474, Lb2475_2475] :  ((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)))), eval, Pa2470_2470), Eb2471_2471), S_02472_2472), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42473_2473))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2474_2474), Lb2475_2475))) => (=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb2474_2474, A_42473_2473), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2468_2468), Fs_12469_2469))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2468_2468), C_12467_2467)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2470_2470)))) => 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)))), eval, Pa2470_2470), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12467_2467), Eb2471_2471)), S_02472_2472), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, classCast))))), hAPP(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(fun(list(char), option(val)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_Pair(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), Hb2474_2474), Lb2475_2475))))))), ! [C_12476_2476, Pa2477_2477, S_22478_2478, A_42479_2479, D2480_2480, Fs_12481_2481] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22478_2478), A_42479_2479), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2480_2480), Fs_12481_2481))) => (~hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), D2480_2480), C_12476_2476)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), list(char)), bool), subcls1(product_prod(list(list(char)), exp(list(char)))), Pa2477_2477)))) => 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))), cast(list(char)), C_12476_2476), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42479_2479)))), S_22478_2478)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, classCast))))), S_22478_2478))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2477_2477)))))), ! [X_a2482_2482, P2483_2483, C_32484_2484, T_22485_2485] :  ((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, X_a2482_2482)))))))), fun(ty, fun(ty, bool)), widen(X_a2482_2482), P2483_2483), hAPP(list(char), ty, class, C_32484_2484)), T_22485_2485)) => ? [D_32486_2486] :  (=(T_22485_2485, hAPP(list(char), ty, class, D_32486_2486))))), ! [Va_12487_2487, E_22488_2488, Pa2489_2489, C_12490_2490, S_22491_2491, A_42492_2492, D2493_2493, Fs_12494_2494] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22491_2491), A_42492_2492), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2493_2493), Fs_12494_2494))) => (hBOOL(hAPP(list(char), bool, hAPP(list(char), fun(list(char), bool), hAPP(fun(list(char), fun(list(char), bool)), fun(list(char), fun(list(char), bool)), transitive_rtranclp(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), bool)), subcls1p(product_prod(list(list(char)), exp(list(char)))), Pa2489_2489)), D2493_2493), C_12490_2490)) => 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, Pa2489_2489), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42492_2492)))), C_12490_2490), Va_12487_2487), E_22488_2488)), S_22491_2491), 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)), Va_12487_2487), hAPP(list(char), ty, class, C_12490_2490)), 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)), Va_12487_2487), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42492_2492)))), E_22488_2488))), S_22491_2491))))), ! [X_a2495_2495, Pa2496_2496, X_12497_2497, Xa2498_2498] :  ((hBOOL(hAPP(list(char), bool, hAPP(list(char), fun(list(char), bool), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2495_2495)))))))), fun(list(char), fun(list(char), bool)), subcls1p(X_a2495_2495), Pa2496_2496), X_12497_2497), Xa2498_2498)) <=> hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), X_12497_2497), Xa2498_2498)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2495_2495)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2495_2495), Pa2496_2496))))), ! [X_a2499_2499, R_12500_2500, A_42501_2501] :  (hBOOL(hAPP(X_a2499_2499, bool, hAPP(X_a2499_2499, fun(X_a2499_2499, bool), hAPP(fun(X_a2499_2499, fun(X_a2499_2499, bool)), fun(X_a2499_2499, fun(X_a2499_2499, bool)), transitive_rtranclp(X_a2499_2499), R_12500_2500), A_42501_2501), A_42501_2501))), ! [X_a2502_2502, R_12503_2503, X_22504_2504, Y_12505_2505] :  ((hBOOL(hAPP(X_a2502_2502, bool, hAPP(X_a2502_2502, fun(X_a2502_2502, bool), R_12503_2503, X_22504_2504), Y_12505_2505)) => hBOOL(hAPP(X_a2502_2502, bool, hAPP(X_a2502_2502, fun(X_a2502_2502, bool), hAPP(fun(X_a2502_2502, fun(X_a2502_2502, bool)), fun(X_a2502_2502, fun(X_a2502_2502, bool)), transitive_rtranclp(X_a2502_2502), R_12503_2503), X_22504_2504), Y_12505_2505)))), ! [X_a2506_2506, R_12507_2507] :  (=(hAPP(fun(X_a2506_2506, fun(X_a2506_2506, bool)), fun(X_a2506_2506, fun(X_a2506_2506, bool)), transitive_rtranclp(X_a2506_2506), hAPP(fun(X_a2506_2506, fun(X_a2506_2506, bool)), fun(X_a2506_2506, fun(X_a2506_2506, bool)), transitive_rtranclp(X_a2506_2506), R_12507_2507)), hAPP(fun(X_a2506_2506, fun(X_a2506_2506, bool)), fun(X_a2506_2506, fun(X_a2506_2506, bool)), transitive_rtranclp(X_a2506_2506), R_12507_2507))), ! [X_a2508_2508, C2509_2509, R_12510_2510, A_42511_2511, B2512_2512] :  ((hBOOL(hAPP(X_a2508_2508, bool, hAPP(X_a2508_2508, fun(X_a2508_2508, bool), R_12510_2510, A_42511_2511), B2512_2512)) => (hBOOL(hAPP(X_a2508_2508, bool, hAPP(X_a2508_2508, fun(X_a2508_2508, bool), hAPP(fun(X_a2508_2508, fun(X_a2508_2508, bool)), fun(X_a2508_2508, fun(X_a2508_2508, bool)), transitive_rtranclp(X_a2508_2508), R_12510_2510), B2512_2512), C2509_2509)) => hBOOL(hAPP(X_a2508_2508, bool, hAPP(X_a2508_2508, fun(X_a2508_2508, bool), hAPP(fun(X_a2508_2508, fun(X_a2508_2508, bool)), fun(X_a2508_2508, fun(X_a2508_2508, bool)), transitive_rtranclp(X_a2508_2508), R_12510_2510), A_42511_2511), C2509_2509))))), ! [X_a2513_2513, C2514_2514, R_12515_2515, A_42516_2516, B2517_2517] :  ((hBOOL(hAPP(X_a2513_2513, bool, hAPP(X_a2513_2513, fun(X_a2513_2513, bool), hAPP(fun(X_a2513_2513, fun(X_a2513_2513, bool)), fun(X_a2513_2513, fun(X_a2513_2513, bool)), transitive_rtranclp(X_a2513_2513), R_12515_2515), A_42516_2516), B2517_2517)) => (hBOOL(hAPP(X_a2513_2513, bool, hAPP(X_a2513_2513, fun(X_a2513_2513, bool), R_12515_2515, B2517_2517), C2514_2514)) => hBOOL(hAPP(X_a2513_2513, bool, hAPP(X_a2513_2513, fun(X_a2513_2513, bool), hAPP(fun(X_a2513_2513, fun(X_a2513_2513, bool)), fun(X_a2513_2513, fun(X_a2513_2513, bool)), transitive_rtranclp(X_a2513_2513), R_12515_2515), A_42516_2516), C2514_2514))))), ! [X_a2518_2518, Z2519_2519, R_12520_2520, X_22521_2521, Y_12522_2522] :  ((hBOOL(hAPP(X_a2518_2518, bool, hAPP(X_a2518_2518, fun(X_a2518_2518, bool), hAPP(fun(X_a2518_2518, fun(X_a2518_2518, bool)), fun(X_a2518_2518, fun(X_a2518_2518, bool)), transitive_rtranclp(X_a2518_2518), R_12520_2520), X_22521_2521), Y_12522_2522)) => (hBOOL(hAPP(X_a2518_2518, bool, hAPP(X_a2518_2518, fun(X_a2518_2518, bool), hAPP(fun(X_a2518_2518, fun(X_a2518_2518, bool)), fun(X_a2518_2518, fun(X_a2518_2518, bool)), transitive_rtranclp(X_a2518_2518), R_12520_2520), Y_12522_2522), Z2519_2519)) => hBOOL(hAPP(X_a2518_2518, bool, hAPP(X_a2518_2518, fun(X_a2518_2518, bool), hAPP(fun(X_a2518_2518, fun(X_a2518_2518, bool)), fun(X_a2518_2518, fun(X_a2518_2518, bool)), transitive_rtranclp(X_a2518_2518), R_12520_2520), X_22521_2521), Z2519_2519))))), ! [X_a2523_2523, R_12524_2524, X_12525_2525, Xa2526_2526] :  ((hBOOL(hAPP(X_a2523_2523, bool, hAPP(X_a2523_2523, fun(X_a2523_2523, bool), hAPP(fun(X_a2523_2523, fun(X_a2523_2523, bool)), fun(X_a2523_2523, fun(X_a2523_2523, bool)), transitive_rtranclp(X_a2523_2523), hAPP(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, fun(X_a2523_2523, bool)), hAPP(fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool))), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, fun(X_a2523_2523, bool))), combc(X_a2523_2523, fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool)), hAPP(fun(X_a2523_2523, fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool))), fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool))), hAPP(fun(fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool))), fun(fun(X_a2523_2523, fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool))), fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool)))), combb(fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(X_a2523_2523, bool)), X_a2523_2523), combc(X_a2523_2523, fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)), hAPP(fun(X_a2523_2523, fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523))), fun(X_a2523_2523, fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool))), hAPP(fun(fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523)), fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool))), fun(fun(X_a2523_2523, fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523))), fun(X_a2523_2523, fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)))), combb(fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523)), fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)), X_a2523_2523), hAPP(fun(product_prod(X_a2523_2523, X_a2523_2523), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool)), fun(fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523)), fun(X_a2523_2523, fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool))), combb(product_prod(X_a2523_2523, X_a2523_2523), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool), X_a2523_2523), member(product_prod(X_a2523_2523, X_a2523_2523)))), product_Pair(X_a2523_2523, X_a2523_2523)))), R_12524_2524)), X_12525_2525), Xa2526_2526)) <=> hBOOL(hAPP(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool, hAPP(product_prod(X_a2523_2523, X_a2523_2523), fun(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), bool), member(product_prod(X_a2523_2523, X_a2523_2523)), hAPP(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523), hAPP(X_a2523_2523, fun(X_a2523_2523, product_prod(X_a2523_2523, X_a2523_2523)), product_Pair(X_a2523_2523, X_a2523_2523), X_12525_2525), Xa2526_2526)), hAPP(fun(product_prod(X_a2523_2523, X_a2523_2523), bool), fun(product_prod(X_a2523_2523, X_a2523_2523), bool), transitive_rtrancl(X_a2523_2523), R_12524_2524))))), ! [Pa2527_2527, C_12528_2528, S_22529_2529, A_42530_2530, D2531_2531, Fs_12532_2532] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22529_2529), A_42530_2530), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2531_2531), Fs_12532_2532))) => (hBOOL(hAPP(list(char), bool, hAPP(list(char), fun(list(char), bool), hAPP(fun(list(char), fun(list(char), bool)), fun(list(char), fun(list(char), bool)), transitive_rtranclp(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), bool)), subcls1p(product_prod(list(list(char)), exp(list(char)))), Pa2527_2527)), D2531_2531), C_12528_2528)) => 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, Pa2527_2527), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12528_2528), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42530_2530)))), S_22529_2529), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42530_2530))), S_22529_2529))))), ! [Va_12533_2533, E_22534_2534, Pa2535_2535, C_12536_2536, S_22537_2537, A_42538_2538, D2539_2539, Fs_12540_2540] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22537_2537), A_42538_2538), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2539_2539), Fs_12540_2540))) => (~hBOOL(hAPP(list(char), bool, hAPP(list(char), fun(list(char), bool), hAPP(fun(list(char), fun(list(char), bool)), fun(list(char), fun(list(char), bool)), transitive_rtranclp(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), bool)), subcls1p(product_prod(list(list(char)), exp(list(char)))), Pa2535_2535)), D2539_2539), C_12536_2536)) => 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, Pa2535_2535), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), tryCatch(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42538_2538)))), C_12536_2536), Va_12533_2533), E_22534_2534)), S_22537_2537), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42538_2538)))), S_22537_2537))))), ! [Pa2541_2541, C_12542_2542, S_22543_2543, A_42544_2544, D2545_2545, Fs_12546_2546] :  ((=(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), 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))), fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), hp, S_22543_2543), A_42544_2544), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), D2545_2545), Fs_12546_2546))) => (~hBOOL(hAPP(list(char), bool, hAPP(list(char), fun(list(char), bool), hAPP(fun(list(char), fun(list(char), bool)), fun(list(char), fun(list(char), bool)), transitive_rtranclp(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), bool)), subcls1p(product_prod(list(list(char)), exp(list(char)))), Pa2541_2541)), D2545_2545), C_12542_2542)) => 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, Pa2541_2541), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12542_2542), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_42544_2544)))), S_22543_2543), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, classCast))))), S_22543_2543))))), ! [List2547_2547] :  (~=(void, hAPP(list(char), ty, class, List2547_2547))), ! [List2548_2548] :  (~=(hAPP(list(char), ty, class, List2548_2548), void)), ! [List_32549_2549, List_22550_2550] :  ((=(hAPP(list(char), ty, class, List_32549_2549), hAPP(list(char), ty, class, List_22550_2550)) <=> =(List_32549_2549, List_22550_2550))), ! [C_12551_2551, Eb2552_2552, S_22553_2553, S2554_2554, Pa2555_2555] :  ((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)))), Eb2552_2552), S_22553_2553)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S2554_2554))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2555_2555)))) => 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))), cast(list(char)), C_12551_2551), Eb2552_2552)), S_22553_2553)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S2554_2554))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2555_2555)))))), ! [X_m2561_2561, P2562_2562, C_32563_2563] :  (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, X_m2561_2561)))))))), fun(ty, fun(ty, bool)), widen(X_m2561_2561), P2562_2562), nt), hAPP(list(char), ty, class, C_32563_2563)))), ! [List2564_2564] :  (~=(hAPP(list(char), ty, class, List2564_2564), nt)), ! [List2565_2565] :  (~=(nt, hAPP(list(char), ty, class, List2565_2565))), ~=(void, nt), ~=(nt, void), ~=(unit, null), ~=(null, unit), ! [X_a2566_2566, Pa2567_2567, Hb2568_2568, Va2569_2569] :  ((hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a2566_2566)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a2566_2566), Pa2567_2567), Hb2568_2568), Va2569_2569), nt)) <=> =(Va2569_2569, null))), ! [X_a2570_2570, Pa2571_2571, Hb2572_2572, Ta2573_2573] :  ((hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a2570_2570)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a2570_2570), Pa2571_2571), Hb2572_2572), null), Ta2573_2573)) <=> 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, X_a2570_2570)))))))), fun(ty, fun(ty, bool)), widen(X_a2570_2570), Pa2571_2571), nt), Ta2573_2573)))), ! [Nat_12574_2574] :  (~=(hAPP(nat, val, addr, Nat_12574_2574), null)), ! [Nat_12575_2575] :  (~=(null, hAPP(nat, val, addr, Nat_12575_2575))), ! [F_12576_2576, D2577_2577, Ta2578_2578, Pa2579_2579, Hb2580_2580, Ea2581_2581, Eb2582_2582] :  ((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, Pa2579_2579), Hb2580_2580), Ea2581_2581), Eb2582_2582), nt)) => 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, Pa2579_2579), Hb2580_2580), Ea2581_2581), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb2582_2582), F_12576_2576), D2577_2577)), Ta2578_2578)))), ! [C_12583_2583, Pa2584_2584, Eb2585_2585, S_02586_2586, S_12587_2587] :  ((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)))), eval, Pa2584_2584), Eb2585_2585), S_02586_2586), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_12587_2587)) => 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)))), eval, Pa2584_2584), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12583_2583), Eb2585_2585)), S_02586_2586), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_12587_2587)))), ! [Pa2588_2588, C_12589_2589, S_22590_2590] :  (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, Pa2588_2588), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12589_2589), hAPP(val, exp(list(char)), val_1(list(char)), null))), S_22590_2590), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_22590_2590))), ! [F_12591_2591, D2592_2592, E_22593_2593, T_2_22594_2594, Pa2595_2595, Hb2596_2596, Ea2597_2597, E_12598_2598] :  ((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, Pa2595_2595), Hb2596_2596), Ea2597_2597), E_12598_2598), nt)) => (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, Pa2595_2595), Hb2596_2596), Ea2597_2597), E_22593_2593), T_2_22594_2594)) => 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, Pa2595_2595), Hb2596_2596), Ea2597_2597), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_12598_2598), F_12591_2591), D2592_2592), E_22593_2593)), void))))), ! [C_12599_2599, S_22600_2600, Pa2601_2601] :  (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))), cast(list(char)), C_12599_2599), hAPP(val, exp(list(char)), val_1(list(char)), null))), S_22600_2600)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S_22600_2600))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2601_2601)))), ! [Pa2602_2602, Hb2603_2603, Ea2604_2604, Eb2605_2605, F_12606_2606, D2607_2607, Ta2608_2608] :  ((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, Pa2602_2602), Hb2603_2603), Ea2604_2604), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb2605_2605), F_12606_2606), D2607_2607)), Ta2608_2608)) => (! [C_22609_2609] :  ((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, Pa2602_2602), Hb2603_2603), Ea2604_2604), Eb2605_2605), hAPP(list(char), ty, class, C_22609_2609))) => ~hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), fun(ty, fun(list(char), bool)))), has_field(product_prod(list(list(char)), exp(list(char)))), Pa2602_2602), C_22609_2609), F_12606_2606), Ta2608_2608), D2607_2607)))) => 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, Pa2602_2602), Hb2603_2603), Ea2604_2604), Eb2605_2605), nt))))), ! [Pa2618_2618, Hb2619_2619, Ea2620_2620, Eb2621_2621, F_12622_2622, D2623_2623, Va2624_2624, Ta2625_2625] :  ((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, Pa2618_2618), Hb2619_2619), Ea2620_2620), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), Eb2621_2621), F_12622_2622), D2623_2623), Va2624_2624)), Ta2625_2625)) => ((=(Ta2625_2625, void) => ! [C_22626_2626] :  ((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, Pa2618_2618), Hb2619_2619), Ea2620_2620), Eb2621_2621), hAPP(list(char), ty, class, C_22626_2626))) => ! [T_12627_2627] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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(list(char), fun(ty, fun(list(char), bool)))), has_field(product_prod(list(list(char)), exp(list(char)))), Pa2618_2618), C_22626_2626), F_12622_2622), T_12627_2627), D2623_2623)) => ! [T_2_12628_2628] :  ((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, Pa2618_2618), Hb2619_2619), Ea2620_2620), Va2624_2624), T_2_12628_2628)) => ~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)))), Pa2618_2618), T_2_12628_2628), T_12627_2627))))))))) => ~(=(Ta2625_2625, void) => (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, Pa2618_2618), Hb2619_2619), Ea2620_2620), Eb2621_2621), nt)) => ! [T_2_12629_2629] :  (~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, Pa2618_2618), Hb2619_2619), Ea2620_2620), Va2624_2624), T_2_12629_2629)))))))), ! [F_12630_2630, D2631_2631, Eb2632_2632, S_22633_2633, S2634_2634, Pa2635_2635] :  ((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)))), Eb2632_2632), S_22633_2633)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S2634_2634))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2635_2635)))) => 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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb2632_2632), F_12630_2630), D2631_2631)), S_22633_2633)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S2634_2634))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2635_2635)))))), ! [Pa2636_2636, Eb2637_2637, S_02638_2638, S_12639_2639] :  ((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)))), eval, Pa2636_2636), Eb2637_2637), S_02638_2638), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_12639_2639)) => 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)))), eval, Pa2636_2636), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2637_2637)), S_02638_2638), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_12639_2639)))), ! [Pa2640_2640, S_22641_2641] :  (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, Pa2640_2640), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null))), S_22641_2641), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22641_2641))), ! [F_12642_2642, D2643_2643, E_22644_2644, Va2645_2645, S_2_12646_2646, Pa2647_2647, E_12648_2648, S_02649_2649, S_12650_2650] :  ((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)))), eval, Pa2647_2647), E_12648_2648), S_02649_2649), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_12650_2650)) => (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)))), eval, Pa2647_2647), E_22644_2644), S_12650_2650), hAPP(val, exp(list(char)), val_1(list(char)), Va2645_2645)), S_2_12646_2646)) => 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)))), eval, Pa2647_2647), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_12648_2648), F_12642_2642), D2643_2643), E_22644_2644)), S_02649_2649), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_2_12646_2646))))), ! [F_12651_2651, D2652_2652, Pa2653_2653, Eb2654_2654, S_02655_2655, S_12656_2656] :  ((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)))), eval, Pa2653_2653), Eb2654_2654), S_02655_2655), hAPP(val, exp(list(char)), val_1(list(char)), null)), S_12656_2656)) => 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)))), eval, Pa2653_2653), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), Eb2654_2654), F_12651_2651), D2652_2652)), S_02655_2655), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_12656_2656)))), ! [Pa2657_2657, F_12658_2658, D2659_2659, Va2660_2660, S_22661_2661] :  (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, Pa2657_2657), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null)), F_12658_2658), D2659_2659), hAPP(val, exp(list(char)), val_1(list(char)), Va2660_2660))), S_22661_2661), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22661_2661))), ! [Pa2662_2662, F_12663_2663, D2664_2664, S_22665_2665] :  (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, Pa2662_2662), hAPP(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null)), F_12663_2663), D2664_2664)), S_22665_2665), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22665_2665))), ! [S_22666_2666, Pa2667_2667] :  (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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null))), S_22666_2666)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22666_2666))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2667_2667)))), ! [Eb2668_2668, S_22669_2669, S2670_2670, Pa2671_2671] :  ((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)))), Eb2668_2668), S_22669_2669)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S2670_2670))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2671_2671)))) => 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)), throw(list(char)), Eb2668_2668)), S_22669_2669)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S2670_2670))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2671_2671)))))), ! [F_12672_2672, D2673_2673, Va2674_2674, S_22675_2675, Pa2676_2676] :  (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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null)), F_12672_2672), D2673_2673), hAPP(val, exp(list(char)), val_1(list(char)), Va2674_2674))), S_22675_2675)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22675_2675))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2676_2676)))), ! [F_12677_2677, D2678_2678, S_22679_2679, Pa2680_2680] :  (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(list(char), exp(list(char)), hAPP(list(char), fun(list(char), exp(list(char))), hAPP(exp(list(char)), fun(list(char), fun(list(char), exp(list(char)))), fAcc(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), null)), F_12677_2677), D2678_2678)), S_22679_2679)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_22679_2679))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2680_2680)))), ! [F_12681_2681, D2682_2682, E_22683_2683, Va2684_2684, S_2_12685_2685, E_12686_2686, S_02687_2687, S_12688_2688, Pa2689_2689] :  ((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)))), E_12686_2686), S_02687_2687)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), null)), S_12688_2688))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2689_2689)))) => (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)))), E_22683_2683), S_12688_2688)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va2684_2684)), S_2_12685_2685))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2689_2689)))) => 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))), hAPP(list(char), fun(list(char), fun(exp(list(char)), exp(list(char)))), hAPP(exp(list(char)), fun(list(char), fun(list(char), fun(exp(list(char)), exp(list(char))))), fAss(list(char)), E_12686_2686), F_12681_2681), D2682_2682), E_22683_2683)), S_02687_2687)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))), S_2_12685_2685))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2689_2689))))))), ! [Pa2690_2690, Eb2691_2691, S_22692_2692, E_b2693_2693, S2694_2694] :  ((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)))), eval, Pa2690_2690), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2691_2691)), S_22692_2692), E_b2693_2693), S2694_2694)) => (! [A_32695_2695] :  ((=(E_b2693_2693, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32695_2695)))) => ~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)))), eval, Pa2690_2690), Eb2691_2691), S_22692_2692), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32695_2695))), S2694_2694)))) => ((=(E_b2693_2693, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, hAPP(list(char), nat, addr_of_sys_xcpt, nullPointer))))) => ~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)))), eval, Pa2690_2690), Eb2691_2691), S_22692_2692), hAPP(val, exp(list(char)), val_1(list(char)), null)), S2694_2694))) => ~! [E_32696_2696] :  ((=(E_b2693_2693, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_32696_2696)) => ~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)))), eval, Pa2690_2690), Eb2691_2691), S_22692_2692), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_32696_2696)), S2694_2694)))))))), ! [X_a2697_2697, Pa2698_2698, Hb2699_2699, C_12700_2700, Va2701_2701] :  ((~=(Va2701_2701, null) => (hBOOL(hAPP(ty, bool, hAPP(val, fun(ty, bool), hAPP(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, 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, X_a2697_2697)))))))), fun(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(val, fun(ty, bool))), conf(X_a2697_2697), Pa2698_2698), Hb2699_2699), Va2701_2701), hAPP(list(char), ty, class, C_12700_2700))) => ? [A_32702_2702, C_42703_2703, Fs2704_2704] :  (((=(Va2701_2701, hAPP(nat, val, addr, A_32702_2702)) & =(hAPP(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), Hb2699_2699, A_32702_2702), hAPP(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), some(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), hAPP(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))), hAPP(list(char), fun(fun(product_prod(list(char), list(char)), option(val)), product_prod(list(char), fun(product_prod(list(char), list(char)), option(val)))), product_Pair(list(char), fun(product_prod(list(char), list(char)), option(val))), C_42703_2703), Fs2704_2704)))) & hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), C_42703_2703), C_12700_2700)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2697_2697)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2697_2697), Pa2698_2698))))))))), ! [Pa2705_2705, Hb2706_2706, Ea2707_2707, Eb2708_2708, Ta2709_2709] :  ((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, Pa2705_2705), Hb2706_2706), Ea2707_2707), Eb2708_2708), Ta2709_2709)) => (hBOOL(hAPP(ty, bool, is_refT, Ta2709_2709)) => (hBOOL(hAPP(exp(list(char)), bool, final(list(char)), Eb2708_2708)) => (~=(Eb2708_2708, hAPP(val, exp(list(char)), val_1(list(char)), null)) => ((? [A_32710_2710] :  (=(Eb2708_2708, hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32710_2710)))) => ! [C_22711_2711] :  (~=(Ta2709_2709, hAPP(list(char), ty, class, C_22711_2711)))) => ~! [A_32712_2712] :  (~=(Eb2708_2708, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), hAPP(nat, val, addr, A_32712_2712))))))))))), ! [X_a2713_2713, Pa2714_2714, C_12715_2715, F_12716_2716, Ta2717_2717, D2718_2718] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2713_2713)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2713_2713), Pa2714_2714), C_12715_2715), F_12716_2716), Ta2717_2717), D2718_2718)) => hBOOL(hAPP(fun(product_prod(list(char), list(char)), bool), bool, hAPP(product_prod(list(char), list(char)), fun(fun(product_prod(list(char), list(char)), bool), bool), member(product_prod(list(char), list(char))), hAPP(list(char), product_prod(list(char), list(char)), hAPP(list(char), fun(list(char), product_prod(list(char), list(char))), product_Pair(list(char), list(char)), C_12715_2715), D2718_2718)), hAPP(fun(product_prod(list(char), list(char)), bool), fun(product_prod(list(char), list(char)), bool), transitive_rtrancl(list(char)), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2713_2713)))))))), fun(product_prod(list(char), list(char)), bool), subcls1(X_a2713_2713), Pa2714_2714)))))), ! [Ta2719_2719, Pa2720_2720, Hb2721_2721, Ea2722_2722, Eb2723_2723, T_r_12724_2724] :  ((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, Pa2720_2720), Hb2721_2721), Ea2722_2722), Eb2723_2723), T_r_12724_2724)) => (hBOOL(hAPP(ty, bool, is_refT, T_r_12724_2724)) => 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, Pa2720_2720), Hb2721_2721), Ea2722_2722), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2723_2723)), Ta2719_2719))))), ! [X_a2725_2725, P2726_2726, C_32727_2727, F2728_2728, T_22729_2729, D_12730_2730] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2725_2725)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2725_2725), P2726_2726), C_32727_2727), F2728_2728), T_22729_2729), D_12730_2730)) => hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2725_2725)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2725_2725), P2726_2726), D_12730_2730), F2728_2728), T_22729_2729), D_12730_2730)))), ! [X_a2731_2731, T_32732_2732, D_22733_2733, P2734_2734, C_32735_2735, F2736_2736, T_22737_2737, D_12738_2738] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2731_2731)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2731_2731), P2734_2734), C_32735_2735), F2736_2736), T_22737_2737), D_12738_2738)) => (hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2731_2731)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2731_2731), P2734_2734), C_32735_2735), F2736_2736), T_32732_2732), D_22733_2733)) => (=(T_32732_2732, T_22737_2737) & =(D_22733_2733, D_12738_2738))))), ! [X_a2739_2739, P2740_2740, C_32741_2741, F2742_2742, T_22743_2743, D_12744_2744] :  ((hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2739_2739)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), sees_field(X_a2739_2739), P2740_2740), C_32741_2741), F2742_2742), T_22743_2743), D_12744_2744)) => hBOOL(hAPP(list(char), bool, hAPP(ty, fun(list(char), bool), hAPP(list(char), fun(ty, fun(list(char), bool)), hAPP(list(char), fun(list(char), fun(ty, fun(list(char), bool))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(list(char), ty)), list(product_prod(list(char), product_prod(list(ty), product_prod(ty, X_a2739_2739)))))))), fun(list(char), fun(list(char), fun(ty, fun(list(char), bool)))), has_field(X_a2739_2739), P2740_2740), C_32741_2741), F2742_2742), T_22743_2743), D_12744_2744)))), ! [Pa2747_2747, Hb2748_2748, Ea2749_2749, Eb2750_2750, Ta2751_2751] :  ((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, Pa2747_2747), Hb2748_2748), Ea2749_2749), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2750_2750)), Ta2751_2751)) => ~! [T_r2752_2752] :  ((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, Pa2747_2747), Hb2748_2748), Ea2749_2749), Eb2750_2750), T_r2752_2752)) => ~hBOOL(hAPP(ty, bool, is_refT, T_r2752_2752)))))), ! [T_22753_2753] :  ((hBOOL(hAPP(ty, bool, is_refT, T_22753_2753)) => (~=(T_22753_2753, nt) => ~! [C_22754_2754] :  (~=(T_22753_2753, hAPP(list(char), ty, class, C_22754_2754)))))), ! [C_12755_2755, Pa2756_2756, Hb2757_2757, Ea2758_2758, Eb2759_2759, Ta2760_2760] :  ((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, Pa2756_2756), Hb2757_2757), Ea2758_2758), Eb2759_2759), Ta2760_2760)) => (hBOOL(hAPP(ty, bool, is_refT, Ta2760_2760)) => (hBOOL(hAPP(list(char), bool, hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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), bool), is_class(product_prod(list(list(char)), exp(list(char)))), Pa2756_2756), C_12755_2755)) => 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, Pa2756_2756), Hb2757_2757), Ea2758_2758), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), C_12755_2755), Eb2759_2759)), hAPP(list(char), ty, class, C_12755_2755))))))), ! [Bop_12761_2761, E_22762_2762, Eb2763_2763, S_2_12764_2764, E_12765_2765, S_02766_2766, V_12767_2767, S_12768_2768, Pa2769_2769] :  ((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)))), E_12765_2765), S_02766_2766)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), V_12767_2767)), S_12768_2768))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2769_2769)))) => (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)))), E_22762_2762), S_12768_2768)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb2763_2763)), S_2_12764_2764))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2769_2769)))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_12765_2765), Bop_12761_2761), E_22762_2762)), S_02766_2766)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb2763_2763)), S_2_12764_2764))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2769_2769))))))), ! [X_a2770_2770, List_12771_2771, Exp2772_2772, Exp1_12773_2773, Bop_22774_2774, Exp2_12775_2775] :  (~=(hAPP(exp(X_a2770_2770), exp(X_a2770_2770), hAPP(list(char), fun(exp(X_a2770_2770), exp(X_a2770_2770)), cast(X_a2770_2770), List_12771_2771), Exp2772_2772), hAPP(exp(X_a2770_2770), exp(X_a2770_2770), hAPP(bop, fun(exp(X_a2770_2770), exp(X_a2770_2770)), hAPP(exp(X_a2770_2770), fun(bop, fun(exp(X_a2770_2770), exp(X_a2770_2770))), binOp(X_a2770_2770), Exp1_12773_2773), Bop_22774_2774), Exp2_12775_2775))), ! [X_a2776_2776, Exp1_12777_2777, Bop_22778_2778, Exp2_12779_2779, List_12780_2780, Exp2781_2781] :  (~=(hAPP(exp(X_a2776_2776), exp(X_a2776_2776), hAPP(bop, fun(exp(X_a2776_2776), exp(X_a2776_2776)), hAPP(exp(X_a2776_2776), fun(bop, fun(exp(X_a2776_2776), exp(X_a2776_2776))), binOp(X_a2776_2776), Exp1_12777_2777), Bop_22778_2778), Exp2_12779_2779), hAPP(exp(X_a2776_2776), exp(X_a2776_2776), hAPP(list(char), fun(exp(X_a2776_2776), exp(X_a2776_2776)), cast(X_a2776_2776), List_12780_2780), Exp2781_2781))), ! [Bop_12782_2782, E_22783_2783, Pa2784_2784, E_12785_2785, S_02786_2786, Eb2787_2787, S_12788_2788] :  ((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)))), eval, Pa2784_2784), E_12785_2785), S_02786_2786), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2787_2787)), S_12788_2788)) => 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)))), eval, Pa2784_2784), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_12785_2785), Bop_12782_2782), E_22783_2783)), S_02786_2786), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2787_2787)), S_12788_2788)))), ! [X_a2789_2789, Exp_12790_2790, Exp12791_2791, Bop2792_2792, Exp22793_2793] :  (~=(hAPP(exp(X_a2789_2789), exp(X_a2789_2789), throw(X_a2789_2789), Exp_12790_2790), hAPP(exp(X_a2789_2789), exp(X_a2789_2789), hAPP(bop, fun(exp(X_a2789_2789), exp(X_a2789_2789)), hAPP(exp(X_a2789_2789), fun(bop, fun(exp(X_a2789_2789), exp(X_a2789_2789))), binOp(X_a2789_2789), Exp12791_2791), Bop2792_2792), Exp22793_2793))), ! [X_a2794_2794, Exp12795_2795, Bop2796_2796, Exp22797_2797, Exp_12798_2798] :  (~=(hAPP(exp(X_a2794_2794), exp(X_a2794_2794), hAPP(bop, fun(exp(X_a2794_2794), exp(X_a2794_2794)), hAPP(exp(X_a2794_2794), fun(bop, fun(exp(X_a2794_2794), exp(X_a2794_2794))), binOp(X_a2794_2794), Exp12795_2795), Bop2796_2796), Exp22797_2797), hAPP(exp(X_a2794_2794), exp(X_a2794_2794), throw(X_a2794_2794), Exp_12798_2798))), ! [X_a2799_2799, Exp1_12800_2800, Exp2_12801_2801, Exp12802_2802, Bop2803_2803, Exp22804_2804] :  (~=(hAPP(exp(X_a2799_2799), exp(X_a2799_2799), hAPP(exp(X_a2799_2799), fun(exp(X_a2799_2799), exp(X_a2799_2799)), seq(X_a2799_2799), Exp1_12800_2800), Exp2_12801_2801), hAPP(exp(X_a2799_2799), exp(X_a2799_2799), hAPP(bop, fun(exp(X_a2799_2799), exp(X_a2799_2799)), hAPP(exp(X_a2799_2799), fun(bop, fun(exp(X_a2799_2799), exp(X_a2799_2799))), binOp(X_a2799_2799), Exp12802_2802), Bop2803_2803), Exp22804_2804))), ! [X_a2805_2805, A_12806_2806, Exp_12807_2807, Exp12808_2808, Bop2809_2809, Exp22810_2810] :  (~=(hAPP(exp(X_a2805_2805), exp(X_a2805_2805), hAPP(X_a2805_2805, fun(exp(X_a2805_2805), exp(X_a2805_2805)), lAss(X_a2805_2805), A_12806_2806), Exp_12807_2807), hAPP(exp(X_a2805_2805), exp(X_a2805_2805), hAPP(bop, fun(exp(X_a2805_2805), exp(X_a2805_2805)), hAPP(exp(X_a2805_2805), fun(bop, fun(exp(X_a2805_2805), exp(X_a2805_2805))), binOp(X_a2805_2805), Exp12808_2808), Bop2809_2809), Exp22810_2810))), ! [X_a2811_2811, Exp12812_2812, Bop2813_2813, Exp22814_2814, Exp1_12815_2815, Exp2_12816_2816] :  (~=(hAPP(exp(X_a2811_2811), exp(X_a2811_2811), hAPP(bop, fun(exp(X_a2811_2811), exp(X_a2811_2811)), hAPP(exp(X_a2811_2811), fun(bop, fun(exp(X_a2811_2811), exp(X_a2811_2811))), binOp(X_a2811_2811), Exp12812_2812), Bop2813_2813), Exp22814_2814), hAPP(exp(X_a2811_2811), exp(X_a2811_2811), hAPP(exp(X_a2811_2811), fun(exp(X_a2811_2811), exp(X_a2811_2811)), seq(X_a2811_2811), Exp1_12815_2815), Exp2_12816_2816))), ! [X_a2817_2817, Exp12818_2818, Bop2819_2819, Exp22820_2820, A_12821_2821, Exp_12822_2822] :  (~=(hAPP(exp(X_a2817_2817), exp(X_a2817_2817), hAPP(bop, fun(exp(X_a2817_2817), exp(X_a2817_2817)), hAPP(exp(X_a2817_2817), fun(bop, fun(exp(X_a2817_2817), exp(X_a2817_2817))), binOp(X_a2817_2817), Exp12818_2818), Bop2819_2819), Exp22820_2820), hAPP(exp(X_a2817_2817), exp(X_a2817_2817), hAPP(X_a2817_2817, fun(exp(X_a2817_2817), exp(X_a2817_2817)), lAss(X_a2817_2817), A_12821_2821), Exp_12822_2822))), ! [X_a2823_2823, Exp1_12824_2824, List1_12825_2825, List2_12826_2826, Exp2_12827_2827, Exp12828_2828, Bop2829_2829, Exp22830_2830] :  (~=(hAPP(exp(X_a2823_2823), exp(X_a2823_2823), hAPP(list(char), fun(exp(X_a2823_2823), exp(X_a2823_2823)), hAPP(list(char), fun(list(char), fun(exp(X_a2823_2823), exp(X_a2823_2823))), hAPP(exp(X_a2823_2823), fun(list(char), fun(list(char), fun(exp(X_a2823_2823), exp(X_a2823_2823)))), fAss(X_a2823_2823), Exp1_12824_2824), List1_12825_2825), List2_12826_2826), Exp2_12827_2827), hAPP(exp(X_a2823_2823), exp(X_a2823_2823), hAPP(bop, fun(exp(X_a2823_2823), exp(X_a2823_2823)), hAPP(exp(X_a2823_2823), fun(bop, fun(exp(X_a2823_2823), exp(X_a2823_2823))), binOp(X_a2823_2823), Exp12828_2828), Bop2829_2829), Exp22830_2830))), ! [X_a2831_2831, Exp12832_2832, Bop2833_2833, Exp22834_2834, Exp1_12835_2835, List1_12836_2836, List2_12837_2837, Exp2_12838_2838] :  (~=(hAPP(exp(X_a2831_2831), exp(X_a2831_2831), hAPP(bop, fun(exp(X_a2831_2831), exp(X_a2831_2831)), hAPP(exp(X_a2831_2831), fun(bop, fun(exp(X_a2831_2831), exp(X_a2831_2831))), binOp(X_a2831_2831), Exp12832_2832), Bop2833_2833), Exp22834_2834), hAPP(exp(X_a2831_2831), exp(X_a2831_2831), hAPP(list(char), fun(exp(X_a2831_2831), exp(X_a2831_2831)), hAPP(list(char), fun(list(char), fun(exp(X_a2831_2831), exp(X_a2831_2831))), hAPP(exp(X_a2831_2831), fun(list(char), fun(list(char), fun(exp(X_a2831_2831), exp(X_a2831_2831)))), fAss(X_a2831_2831), Exp1_12835_2835), List1_12836_2836), List2_12837_2837), Exp2_12838_2838))), ! [X_a2839_2839, Exp12840_2840, Bop2841_2841, Exp22842_2842, A_12843_2843, Ty_12844_2844, Exp_12845_2845] :  (~=(hAPP(exp(X_a2839_2839), exp(X_a2839_2839), hAPP(bop, fun(exp(X_a2839_2839), exp(X_a2839_2839)), hAPP(exp(X_a2839_2839), fun(bop, fun(exp(X_a2839_2839), exp(X_a2839_2839))), binOp(X_a2839_2839), Exp12840_2840), Bop2841_2841), Exp22842_2842), hAPP(exp(X_a2839_2839), exp(X_a2839_2839), hAPP(ty, fun(exp(X_a2839_2839), exp(X_a2839_2839)), hAPP(X_a2839_2839, fun(ty, fun(exp(X_a2839_2839), exp(X_a2839_2839))), block(X_a2839_2839), A_12843_2843), Ty_12844_2844), Exp_12845_2845))), ! [X_a2846_2846, A_12847_2847, Ty_12848_2848, Exp_12849_2849, Exp12850_2850, Bop2851_2851, Exp22852_2852] :  (~=(hAPP(exp(X_a2846_2846), exp(X_a2846_2846), hAPP(ty, fun(exp(X_a2846_2846), exp(X_a2846_2846)), hAPP(X_a2846_2846, fun(ty, fun(exp(X_a2846_2846), exp(X_a2846_2846))), block(X_a2846_2846), A_12847_2847), Ty_12848_2848), Exp_12849_2849), hAPP(exp(X_a2846_2846), exp(X_a2846_2846), hAPP(bop, fun(exp(X_a2846_2846), exp(X_a2846_2846)), hAPP(exp(X_a2846_2846), fun(bop, fun(exp(X_a2846_2846), exp(X_a2846_2846))), binOp(X_a2846_2846), Exp12850_2850), Bop2851_2851), Exp22852_2852))), ! [X_a2853_2853, Exp12854_2854, Bop2855_2855, Exp22856_2856, Exp_12857_2857, List1_12858_2858, List2_12859_2859] :  (~=(hAPP(exp(X_a2853_2853), exp(X_a2853_2853), hAPP(bop, fun(exp(X_a2853_2853), exp(X_a2853_2853)), hAPP(exp(X_a2853_2853), fun(bop, fun(exp(X_a2853_2853), exp(X_a2853_2853))), binOp(X_a2853_2853), Exp12854_2854), Bop2855_2855), Exp22856_2856), hAPP(list(char), exp(X_a2853_2853), hAPP(list(char), fun(list(char), exp(X_a2853_2853)), hAPP(exp(X_a2853_2853), fun(list(char), fun(list(char), exp(X_a2853_2853))), fAcc(X_a2853_2853), Exp_12857_2857), List1_12858_2858), List2_12859_2859))), ! [X_a2860_2860, Exp_12861_2861, List1_12862_2862, List2_12863_2863, Exp12864_2864, Bop2865_2865, Exp22866_2866] :  (~=(hAPP(list(char), exp(X_a2860_2860), hAPP(list(char), fun(list(char), exp(X_a2860_2860)), hAPP(exp(X_a2860_2860), fun(list(char), fun(list(char), exp(X_a2860_2860))), fAcc(X_a2860_2860), Exp_12861_2861), List1_12862_2862), List2_12863_2863), hAPP(exp(X_a2860_2860), exp(X_a2860_2860), hAPP(bop, fun(exp(X_a2860_2860), exp(X_a2860_2860)), hAPP(exp(X_a2860_2860), fun(bop, fun(exp(X_a2860_2860), exp(X_a2860_2860))), binOp(X_a2860_2860), Exp12864_2864), Bop2865_2865), Exp22866_2866))), ! [Bop_12867_2867, E_22868_2868, Pa2869_2869, Eb2870_2870, S_22871_2871, E_b2872_2872, S2873_2873] :  ((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, Pa2869_2869), Eb2870_2870), S_22871_2871), E_b2872_2872), S2873_2873)) => 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, Pa2869_2869), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), Eb2870_2870), Bop_12867_2867), E_22868_2868)), S_22871_2871), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_b2872_2872), Bop_12867_2867), E_22868_2868)), S2873_2873)))), ! [X_a2874_2874, Exp1_32875_2875, Bop_12876_2876, Exp2_32877_2877, Exp1_22878_2878, Bop_32879_2879, Exp2_22880_2880] :  ((=(hAPP(exp(X_a2874_2874), exp(X_a2874_2874), hAPP(bop, fun(exp(X_a2874_2874), exp(X_a2874_2874)), hAPP(exp(X_a2874_2874), fun(bop, fun(exp(X_a2874_2874), exp(X_a2874_2874))), binOp(X_a2874_2874), Exp1_32875_2875), Bop_12876_2876), Exp2_32877_2877), hAPP(exp(X_a2874_2874), exp(X_a2874_2874), hAPP(bop, fun(exp(X_a2874_2874), exp(X_a2874_2874)), hAPP(exp(X_a2874_2874), fun(bop, fun(exp(X_a2874_2874), exp(X_a2874_2874))), binOp(X_a2874_2874), Exp1_22878_2878), Bop_32879_2879), Exp2_22880_2880)) <=> ((=(Exp1_32875_2875, Exp1_22878_2878) & =(ti(bop, Bop_12876_2876), ti(bop, Bop_32879_2879))) & =(Exp2_32877_2877, Exp2_22880_2880)))), ! [X_a2881_2881, Exp1_12882_2882, Bop_22883_2883, Exp2_12884_2884, Val2885_2885] :  (~=(hAPP(exp(X_a2881_2881), exp(X_a2881_2881), hAPP(bop, fun(exp(X_a2881_2881), exp(X_a2881_2881)), hAPP(exp(X_a2881_2881), fun(bop, fun(exp(X_a2881_2881), exp(X_a2881_2881))), binOp(X_a2881_2881), Exp1_12882_2882), Bop_22883_2883), Exp2_12884_2884), hAPP(val, exp(X_a2881_2881), val_1(X_a2881_2881), Val2885_2885))), ! [X_a2886_2886, Val2887_2887, Exp1_12888_2888, Bop_22889_2889, Exp2_12890_2890] :  (~=(hAPP(val, exp(X_a2886_2886), val_1(X_a2886_2886), Val2887_2887), hAPP(exp(X_a2886_2886), exp(X_a2886_2886), hAPP(bop, fun(exp(X_a2886_2886), exp(X_a2886_2886)), hAPP(exp(X_a2886_2886), fun(bop, fun(exp(X_a2886_2886), exp(X_a2886_2886))), binOp(X_a2886_2886), Exp1_12888_2888), Bop_22889_2889), Exp2_12890_2890))), ! [X_a2891_2891, Exp12892_2892, Bop2893_2893, Exp22894_2894, Exp1_12895_2895, List2896_2896, A_12897_2897, Exp2_12898_2898] :  (~=(hAPP(exp(X_a2891_2891), exp(X_a2891_2891), hAPP(bop, fun(exp(X_a2891_2891), exp(X_a2891_2891)), hAPP(exp(X_a2891_2891), fun(bop, fun(exp(X_a2891_2891), exp(X_a2891_2891))), binOp(X_a2891_2891), Exp12892_2892), Bop2893_2893), Exp22894_2894), hAPP(exp(X_a2891_2891), exp(X_a2891_2891), hAPP(X_a2891_2891, fun(exp(X_a2891_2891), exp(X_a2891_2891)), hAPP(list(char), fun(X_a2891_2891, fun(exp(X_a2891_2891), exp(X_a2891_2891))), hAPP(exp(X_a2891_2891), fun(list(char), fun(X_a2891_2891, fun(exp(X_a2891_2891), exp(X_a2891_2891)))), tryCatch(X_a2891_2891), Exp1_12895_2895), List2896_2896), A_12897_2897), Exp2_12898_2898))), ! [X_a2899_2899, Exp1_12900_2900, List2901_2901, A_12902_2902, Exp2_12903_2903, Exp12904_2904, Bop2905_2905, Exp22906_2906] :  (~=(hAPP(exp(X_a2899_2899), exp(X_a2899_2899), hAPP(X_a2899_2899, fun(exp(X_a2899_2899), exp(X_a2899_2899)), hAPP(list(char), fun(X_a2899_2899, fun(exp(X_a2899_2899), exp(X_a2899_2899))), hAPP(exp(X_a2899_2899), fun(list(char), fun(X_a2899_2899, fun(exp(X_a2899_2899), exp(X_a2899_2899)))), tryCatch(X_a2899_2899), Exp1_12900_2900), List2901_2901), A_12902_2902), Exp2_12903_2903), hAPP(exp(X_a2899_2899), exp(X_a2899_2899), hAPP(bop, fun(exp(X_a2899_2899), exp(X_a2899_2899)), hAPP(exp(X_a2899_2899), fun(bop, fun(exp(X_a2899_2899), exp(X_a2899_2899))), binOp(X_a2899_2899), Exp12904_2904), Bop2905_2905), Exp22906_2906))), ! [Pa2907_2907, Eb2908_2908, Bop_12909_2909, E_22910_2910, S_22911_2911] :  (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, Pa2907_2907), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2908_2908)), Bop_12909_2909), E_22910_2910)), S_22911_2911), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2908_2908)), S_22911_2911))), ! [V_12912_2912, Bop_12913_2913, Pa2914_2914, Eb2915_2915, S_22916_2916, E_b2917_2917, S2918_2918] :  ((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, Pa2914_2914), Eb2915_2915), S_22916_2916), E_b2917_2917), S2918_2918)) => 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, Pa2914_2914), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12912_2912)), Bop_12913_2913), Eb2915_2915)), S_22916_2916), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12912_2912)), Bop_12913_2913), E_b2917_2917)), S2918_2918)))), ! [Bop_12919_2919, E_22920_2920, Eb2921_2921, S_22922_2922, E_b2923_2923, S2924_2924, Pa2925_2925] :  ((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)))), Eb2921_2921), S_22922_2922)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2923_2923), S2924_2924))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2925_2925))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), Eb2921_2921), Bop_12919_2919), E_22920_2920)), S_22922_2922)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_b2923_2923), Bop_12919_2919), E_22920_2920)), S2924_2924))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2925_2925))))), ! [Bop_12926_2926, E_22927_2927, Eb2928_2928, S_2_12929_2929, Pa2930_2930, E_12931_2931, S_02932_2932, V_12933_2933, S_12934_2934] :  ((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)))), eval, Pa2930_2930), E_12931_2931), S_02932_2932), hAPP(val, exp(list(char)), val_1(list(char)), V_12933_2933)), S_12934_2934)) => (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)))), eval, Pa2930_2930), E_22927_2927), S_12934_2934), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2928_2928)), S_2_12929_2929)) => 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)))), eval, Pa2930_2930), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_12931_2931), Bop_12926_2926), E_22927_2927)), S_02932_2932), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2928_2928)), S_2_12929_2929))))), ! [Pa2935_2935, V_12936_2936, Bop_12937_2937, Eb2938_2938, S_22939_2939] :  (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, Pa2935_2935), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12936_2936)), Bop_12937_2937), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2938_2938))), S_22939_2939), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2938_2938)), S_22939_2939))), ! [V_12940_2940, Bop_12941_2941, Eb2942_2942, S_22943_2943, E_b2944_2944, S2945_2945, Pa2946_2946] :  ((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)))), Eb2942_2942), S_22943_2943)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2944_2944), S2945_2945))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2946_2946))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12940_2940)), Bop_12941_2941), Eb2942_2942)), S_22943_2943)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12940_2940)), Bop_12941_2941), E_b2944_2944)), S2945_2945))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2946_2946))))), ! [Eb2947_2947, Bop_12948_2948, E_22949_2949, S_22950_2950, Pa2951_2951] :  (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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2947_2947)), Bop_12948_2948), E_22949_2949)), S_22950_2950)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb2947_2947)), S_22950_2950))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2951_2951)))), ! [Bop_12952_2952, E_22953_2953, Eb2954_2954, S_22955_2955, E_b2956_2956, S2957_2957, Pa2958_2958] :  ((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)))), Eb2954_2954), S_22955_2955)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2956_2956), S2957_2957))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2958_2958)))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), Eb2954_2954), Bop_12952_2952), E_22953_2953)), S_22955_2955)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_b2956_2956), Bop_12952_2952), E_22953_2953)), S2957_2957))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2958_2958)))))), ! [V_12959_2959, Bop_12960_2960, Eb2961_2961, S_22962_2962, Pa2963_2963] :  (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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_12959_2959)), Bop_12960_2960), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), Eb2961_2961))), S_22962_2962)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), Eb2961_2961)), S_22962_2962))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2963_2963)))), ! [Va2964_2964, Bop_12965_2965, Eb2966_2966, S_22967_2967, E_b2968_2968, S2969_2969, Pa2970_2970] :  ((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)))), Eb2966_2966), S_22967_2967)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(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_b2968_2968), S2969_2969))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2970_2970)))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va2964_2964)), Bop_12965_2965), Eb2966_2966)), S_22967_2967)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), Va2964_2964)), Bop_12965_2965), E_b2968_2968)), S2969_2969))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2970_2970)))))), ! [Bop_12971_2971, E_22972_2972, Eb2973_2973, S_22974_2974, E_b2975_2975, S2976_2976, Pa2977_2977] :  ((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)))), Eb2973_2973), S_22974_2974)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b2975_2975)), S2976_2976))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2977_2977)))) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), Eb2973_2973), Bop_12971_2971), E_22972_2972)), S_22974_2974)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), product_prod(fun(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)), throw(list(char)), E_b2975_2975)), S2976_2976))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2977_2977)))))), ! [Pa2978_2978, Hb2979_2979, Ea2980_2980, D2981_2981, Eb2982_2982, Ta2983_2983] :  ((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, Pa2978_2978), Hb2979_2979), Ea2980_2980), hAPP(exp(list(char)), exp(list(char)), hAPP(list(char), fun(exp(list(char)), exp(list(char))), cast(list(char)), D2981_2981), Eb2982_2982)), Ta2983_2983)) => ~(=(Ta2983_2983, hAPP(list(char), ty, class, D2981_2981)) => ! [T_12984_2984] :  ((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, Pa2978_2978), Hb2979_2979), Ea2980_2980), Eb2982_2982), T_12984_2984)) => (hBOOL(hAPP(ty, bool, is_refT, T_12984_2984)) => ~hBOOL(hAPP(list(char), bool, hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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), bool), is_class(product_prod(list(list(char)), exp(list(char)))), Pa2978_2978), D2981_2981)))))))), ! [Bop_12985_2985, Va2986_2986, E_22987_2987, V_22988_2988, S_2_12989_2989, E_12990_2990, S_02991_2991, V_12992_2992, S_12993_2993, Pa2994_2994] :  ((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)))), E_12990_2990), S_02991_2991)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), V_12992_2992)), S_12993_2993))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2994_2994)))) => (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)))), E_22987_2987), S_12993_2993)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), V_22988_2988)), S_2_12989_2989))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2994_2994)))) => (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), Bop_12985_2985), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_12992_2992), V_22988_2988))), hAPP(val, option(val), some(val), Va2986_2986)) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_12990_2990), Bop_12985_2985), E_22987_2987)), S_02991_2991)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va2986_2986)), S_2_12989_2989))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa2994_2994)))))))), ! [Bop_12995_2995, Va2996_2996, E_22997_2997, V_22998_2998, S_2_12999_2999, Pa3000_3000, E_13001_3001, S_03002_3002, V_13003_3003, S_13004_3004] :  ((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)))), eval, Pa3000_3000), E_13001_3001), S_03002_3002), hAPP(val, exp(list(char)), val_1(list(char)), V_13003_3003)), S_13004_3004)) => (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)))), eval, Pa3000_3000), E_22997_2997), S_13004_3004), hAPP(val, exp(list(char)), val_1(list(char)), V_22998_2998)), S_2_12999_2999)) => (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), Bop_12995_2995), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_13003_3003), V_22998_2998))), hAPP(val, option(val), some(val), Va2996_2996)) => 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)))), eval, Pa3000_3000), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_13001_3001), Bop_12995_2995), E_22997_2997)), S_03002_3002), hAPP(val, exp(list(char)), val_1(list(char)), Va2996_2996)), S_2_12999_2999)))))), ! [Pa3005_3005, S_23006_3006, Bop_13007_3007, V_13008_3008, V_23009_3009, Va3010_3010] :  ((=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), Bop_13007_3007), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_13008_3008), V_23009_3009))), hAPP(val, option(val), some(val), Va3010_3010)) => 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, Pa3005_3005), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_13008_3008)), Bop_13007_3007), hAPP(val, exp(list(char)), val_1(list(char)), V_23009_3009))), S_23006_3006), hAPP(val, exp(list(char)), val_1(list(char)), Va3010_3010)), S_23006_3006)))), ! [S_23011_3011, Pa3012_3012, Bop_13013_3013, V_13014_3014, V_23015_3015, Va3016_3016] :  ((=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), Bop_13013_3013), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_13014_3014), V_23015_3015))), hAPP(val, option(val), some(val), Va3016_3016)) => 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(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), hAPP(val, exp(list(char)), val_1(list(char)), V_13014_3014)), Bop_13013_3013), hAPP(val, exp(list(char)), val_1(list(char)), V_23015_3015))), S_23011_3011)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), Va3016_3016)), S_23011_3011))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa3012_3012))))), ! [Pa3017_3017, E_13018_3018, Bop_13019_3019, E_23020_3020, S_23021_3021, E_b3022_3022, S3023_3023] :  ((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)))), eval, Pa3017_3017), hAPP(exp(list(char)), exp(list(char)), hAPP(bop, fun(exp(list(char)), exp(list(char))), hAPP(exp(list(char)), fun(bop, fun(exp(list(char)), exp(list(char)))), binOp(list(char)), E_13018_3018), Bop_13019_3019), E_23020_3020)), S_23021_3021), E_b3022_3022), S3023_3023)) => (! [V_1_23024_3024, S_1_13025_3025, V_2_23026_3026, V_33027_3027] :  ((=(E_b3022_3022, hAPP(val, exp(list(char)), val_1(list(char)), V_33027_3027)) => (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)))), eval, Pa3017_3017), E_13018_3018), S_23021_3021), hAPP(val, exp(list(char)), val_1(list(char)), V_1_23024_3024)), S_1_13025_3025)) => (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)))), eval, Pa3017_3017), E_23020_3020), S_1_13025_3025), hAPP(val, exp(list(char)), val_1(list(char)), V_2_23026_3026)), S3023_3023)) => ~=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), Bop_13019_3019), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_1_23024_3024), V_2_23026_3026))), hAPP(val, option(val), some(val), V_33027_3027)))))) => (! [E3028_3028] :  ((=(E_b3022_3022, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E3028_3028)) => ~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)))), eval, Pa3017_3017), E_13018_3018), S_23021_3021), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E3028_3028)), S3023_3023)))) => ~! [V_1_23029_3029, S_1_13030_3030, E3031_3031] :  ((=(E_b3022_3022, hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E3031_3031)) => (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)))), eval, Pa3017_3017), E_13018_3018), S_23021_3021), hAPP(val, exp(list(char)), val_1(list(char)), V_1_23029_3029)), S_1_13030_3030)) => ~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)))), eval, Pa3017_3017), E_23020_3020), S_1_13030_3030), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E3031_3031)), S3023_3023))))))))), ! [V_2_13032_3032] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), unit), V_2_13032_3032))), none(val))), ! [V_1_13033_3033, V3034_3034] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_1_13033_3033), hAPP(nat, val, addr, V3034_3034)))), none(val))), ! [V3035_3035, V_2_13036_3036] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), hAPP(nat, val, addr, V3035_3035)), V_2_13036_3036))), none(val))), ! [V_2_13037_3037] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), null), V_2_13037_3037))), none(val))), ! [V_1_13038_3038] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_1_13038_3038), null))), none(val))), ! [V_1_13039_3039] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_1_13039_3039), unit))), none(val))), ! [Va3040_3040, V_23041_3041] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), hAPP(bool, val, bool_1, Va3040_3040)), V_23041_3041))), none(val))), ! [V_13042_3042, Va3043_3043] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), add), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_13042_3042), hAPP(bool, val, bool_1, Va3043_3043)))), none(val))), ! [Bool_13044_3044] :  (~=(null, hAPP(bool, val, bool_1, Bool_13044_3044))), ! [Bool_13045_3045] :  (~=(hAPP(bool, val, bool_1, Bool_13045_3045), null)), ! [Bool3046_3046, Bool_13047_3047] :  ((=(hAPP(bool, val, bool_1, Bool3046_3046), hAPP(bool, val, bool_1, Bool_13047_3047)) <=> (hBOOL(Bool3046_3046) <=> hBOOL(Bool_13047_3047)))), ! [Bool_13048_3048] :  (~=(unit, hAPP(bool, val, bool_1, Bool_13048_3048))), ! [Bool_13049_3049] :  (~=(hAPP(bool, val, bool_1, Bool_13049_3049), unit)), ! [Nat3050_3050, Bool3051_3051] :  (~=(hAPP(nat, val, addr, Nat3050_3050), hAPP(bool, val, bool_1, Bool3051_3051))), ! [Bool3052_3052, Nat3053_3053] :  (~=(hAPP(bool, val, bool_1, Bool3052_3052), hAPP(nat, val, addr, Nat3053_3053))), ! [V_13054_3054, V_23055_3055] :  (=(hAPP(product_prod(bop, product_prod(val, val)), option(val), binop, hAPP(product_prod(val, val), product_prod(bop, product_prod(val, val)), hAPP(bop, fun(product_prod(val, val), product_prod(bop, product_prod(val, val))), product_Pair(bop, product_prod(val, val)), c_Expr_Obop_OEq), hAPP(val, product_prod(val, val), hAPP(val, fun(val, product_prod(val, val)), product_Pair(val, val), V_13054_3054), V_23055_3055))), hAPP(val, option(val), some(val), hAPP(bool, val, bool_1, hAPP(val, bool, hAPP(val, fun(val, bool), fequal(val), V_13054_3054), V_23055_3055))))), ! [C3056_3056, B3057_3057, S_23058_3058, S3059_3059, Pa3060_3060] :  ((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)))), B3057_3057), S_23058_3058)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), hAPP(bool, val, bool_1, fFalse))), S3059_3059))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa3060_3060)))) => 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))), while(list(char)), B3057_3057), C3056_3056)), S_23058_3058)), hAPP(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), hAPP(exp(list(char)), fun(product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), product_Pair(exp(list(char)), 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)), S3059_3059))), 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), fun(product_prod(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val)))), product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), bool), transitive_rtrancl(product_prod(exp(list(char)), product_prod(fun(nat, option(product_prod(list(char), fun(product_prod(list(char), list(char)), option(val))))), fun(list(char), option(val))))), hAPP(list(product_prod(list(char), product_prod(list(char), product_prod(list(product_prod(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, Pa3060_3060)))))), ! [X_a3061_3061, Exp1_13062_3062, Exp2_13063_3063, Exp13064_3064, Bop3065_3065, Exp23066_3066] :  (~=(hAPP(exp(X_a3061_3061), exp(X_a3061_3061), hAPP(exp(X_a3061_3061), fun(exp(X_a3061_3061), exp(X_a3061_3061)), while(X_a3061_3061), Exp1_13062_3062), Exp2_13063_3063), hAPP(exp(X_a3061_3061), exp(X_a3061_3061), hAPP(bop, fun(exp(X_a3061_3061), exp(X_a3061_3061)), hAPP(exp(X_a3061_3061), fun(bop, fun(exp(X_a3061_3061), exp(X_a3061_3061))), binOp(X_a3061_3061), Exp13064_3064), Bop3065_3065), Exp23066_3066))), ! [X_a3067_3067, Exp13068_3068, Bop3069_3069, Exp23070_3070, Exp1_13071_3071, Exp2_13072_3072] :  (~=(hAPP(exp(X_a3067_3067), exp(X_a3067_3067), hAPP(bop, fun(exp(X_a3067_3067), exp(X_a3067_3067)), hAPP(exp(X_a3067_3067), fun(bop, fun(exp(X_a3067_3067), exp(X_a3067_3067))), binOp(X_a3067_3067), Exp13068_3068), Bop3069_3069), Exp23070_3070), hAPP(exp(X_a3067_3067), exp(X_a3067_3067), hAPP(exp(X_a3067_3067), fun(exp(X_a3067_3067), exp(X_a3067_3067)), while(X_a3067_3067), Exp1_13071_3071), Exp2_13072_3072))), ! [C3073_3073, Pa3074_3074, Eb3075_3075, S_03076_3076, E_b3077_3077, S_13078_3078] :  ((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)))), eval, Pa3074_3074), Eb3075_3075), S_03076_3076), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b3077_3077)), S_13078_3078)) => 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)))), eval, Pa3074_3074), hAPP(exp(list(char)), exp(list(char)), hAPP(exp(list(char)), fun(exp(list(char)), exp(list(char))), while(list(char)), Eb3075_3075), C3073_3073)), S_03076_3076), hAPP(exp(list(char)), exp(list(char)), throw(list(char)), E_b3077_3077)), S_13078_3078)))), ! [X_a3079_3079, List_13080_3080, Exp3081_3081, Exp1_13082_3082, Exp2_13083_3083] :  (~=(hAPP(exp(X_a3079_3079), exp(X_a3079_3079), hAPP(list(char), fun(exp(X_a3079_3079), exp(X_a3079_3079)), cast(X_a3079_3079), List_13080_3080), Exp3081_3081), hAPP(exp(X_a3079_3079), exp(X_a3079_3079), hAPP(exp(X_a3079_3079), fun(exp(X_a3079_3079), exp(X_a3079_3079)), while(X_a3079_3079), Exp1_13082_3082), Exp2_13083_3083))), ! [X_a3084_3084, Exp1_13085_3085, Exp2_13086_3086, List_13087_3087, Exp3088_3088] :  (~=(hAPP(exp(X_a3084_3084), exp(X_a3084_3084), hAPP(exp(X_a3084_3084), fun(exp(X_a3084_3084), exp(X_a3084_3084)), while(X_a3084_3084), Exp1_13085_3085), Exp2_13086_3086), hAPP(exp(X_a3084_3084), exp(X_a3084_3084), hAPP(list(char), fun(exp(X_a3084_3084), exp(X_a3084_3084)), cast(X_a3084_3084), List_13087_3087), Exp3088_3088))), ! [X_a3089_3089, Exp_13090_3090, Exp13091_3091, Exp23092_3092] :  (~=(hAPP(exp(X_a3089_3089), exp(X_a3089_3089), throw(X_a3089_3089), Exp_13090_3090), hAPP(exp(X_a3089_3089), exp(X_a3089_3089), hAPP(exp(X_a3089_3089), fun(exp(X_a3089_3089), exp(X_a3089_3089)), while(X_a3089_3089), Exp13091_3091), Exp23092_3092))), ! [X_a3093_3093, Exp13094_3094, Exp23095_3095, Exp_13096_3096] :  (~=(hAPP(exp(X_a3093_3093), exp(X_a3093_3093), hAPP(exp(X_a3093_3093), fun(exp(X_a3093_3093), exp(X_a3093_3093)), while(X_a3093_3093), Exp13094_3094), Exp23095_3095), hAPP(exp(X_a3093_3093), exp(X_a3093_3093), throw(X_a3093_3093), Exp_13096_3096))), ! [X_a3097_3097, Exp13098_3098, Exp23099_3099, Exp1_13100_3100, Exp2_13101_3101] :  (~=(hAPP(exp(X_a3097_3097), exp(X_a3097_3097), hAPP(exp(X_a3097_3097), fun(exp(X_a3097_3097), exp(X_a3097_3097)), seq(X_a3097_3097), Exp13098_3098), Exp23099_3099), hAPP(exp(X_a3097_3097), exp(X_a3097_3097), hAPP(exp(X_a3097_3097), fun(exp(X_a3097_3097), exp(X_a3097_3097)), while(X_a3097_3097), Exp1_13100_3100), Exp2_13101_3101))), ! [X_a3102_3102, A_23103_3103, Exp3104_3104, Exp1_13105_3105, Exp2_13106_3106] :  (~=(hAPP(exp(X_a3102_3102), exp(X_a3102_3102), hAPP(X_a3102_3102, fun(exp(X_a3102_3102), exp(X_a3102_3102)), lAss(X_a3102_3102), A_23103_3103), Exp3104_3104), hAPP(exp(X_a3102_3102), exp(X_a3102_3102), hAPP(exp(X_a3102_3102), fun(exp(X_a3102_3102), exp(X_a3102_3102)), while(X_a3102_3102), Exp1_13105_3105), Exp2_13106_3106))), ! [X_a3107_3107, Exp1_13108_3108, Exp2_13109_3109, Exp13110_3110, Exp23111_3111] :  (~=(hAPP(exp(X_a3107_3107), exp(X_a3107_3107), hAPP(exp(X_a3107_3107), fun(exp(X_a3107_3107), exp(X_a3107_3107)), while(X_a3107_3107), Exp1_13108_3108), Exp2_13109_3109), hAPP(exp(X_a3107_3107), exp(X_a3107_3107), hAPP(exp(X_a3107_3107), fun(exp(X_a3107_3107), exp(X_a3107_3107)), seq(X_a3107_3107), Exp13110_3110), Exp23111_3111))), ! [X_a3112_3112, Exp1_13113_3113, Exp2_13114_3114, A_23115_3115, Exp3116_3116] :  (~=(hAPP(exp(X_a3112_3112), exp(X_a3112_3112), hAPP(exp(X_a3112_3112), fun(exp(X_a3112_3112), exp(X_a3112_3112)), while(X_a3112_3112), Exp1_13113_3113), Exp2_13114_3114), hAPP(exp(X_a3112_3112), exp(X_a3112_3112), hAPP(X_a3112_3112, fun(exp(X_a3112_3112), exp(X_a3112_3112)), lAss(X_a3112_3112), A_23115_3115), Exp3116_3116))), ! [X_a3117_3117, Exp13118_3118, List13119_3119, List23120_3120, Exp23121_3121, Exp1_13122_3122, Exp2_13123_3123] :  (~=(hAPP(exp(X_a3117_3117), exp(X_a3117_3117), hAPP(list(char), fun(exp(X_a3117_3117), exp(X_a3117_3117)), hAPP(list(char), fun(list(char), fun(exp(X_a3117_3117), exp(X_a3117_3117))), hAPP(exp(X_a3117_3117), fun(list(char), fun(list(char), fun(exp(X_a3117_3117), exp(X_a3117_3117)))), fAss(X_a3117_3117), Exp13118_3118), List13119_3119), List23120_3120), Exp23121_3121), hAPP(exp(X_a3117_3117), exp(X_a3117_3117), hAPP(exp(X_a3117_3117), fun(exp(X_a3117_3117), exp(X_a3117_3117)), while(X_a3117_3117), Exp1_13122_3122), Exp2_13123_3123))), ! [X_a3124_3124, Exp1_13125_3125, Exp2_13126_3126, Exp13127_3127, List13128_3128, List23129_3129, Exp23130_3130] :  (~=(hAPP(exp(X_a3124_3124), exp(X_a3124_3124), hAPP(exp(X_a3124_3124), fun(exp(X_a3124_3124), exp(X_a3124_3124)), while(X_a3124_3124), Exp1_13125_3125), Exp2_13126_3126), hAPP(exp(X_a3124_3124), exp(X_a3124_3124), hAPP(list(char), fun(exp(X_a3124_3124), exp(X_a3124_3124)), hAPP(list(char), fun(list(char), fun(exp(X_a3124_3124), exp(X_a3124_3124))), hAPP(exp(X_a3124_3124), fun(list(char), fun(list(char), fun(exp(X_a3124_3124), exp(X_a3124_3124)))), fAss(X_a3124_3124), Exp13127_3127), List13128_3128), List23129_3129), Exp23130_3130))), ! [X_a3131_3131, Exp1_13132_3132, Exp2_13133_3133, A_23134_3134, Ty3135_3135, Exp3136_3136] :  (~=(hAPP(exp(X_a3131_3131), exp(X_a3131_3131), hAPP(exp(X_a3131_3131), fun(exp(X_a3131_3131), exp(X_a3131_3131)), while(X_a3131_3131), Exp1_13132_3132), Exp2_13133_3133), hAPP(exp(X_a3131_3131), exp(X_a3131_3131), hAPP(ty, fun(exp(X_a3131_3131), exp(X_a3131_3131)), hAPP(X_a3131_3131, fun(ty, fun(exp(X_a3131_3131), exp(X_a3131_3131))), block(X_a3131_3131), A_23134_3134), Ty3135_3135), Exp3136_3136))), ! [X_a3137_3137, A_23138_3138, Ty3139_3139, Exp3140_3140, Exp1_13141_3141, Exp2_13142_3142] :  (~=(hAPP(exp(X_a3137_3137), exp(X_a3137_3137), hAPP(ty, fun(exp(X_a3137_3137), exp(X_a3137_3137)), hAPP(X_a3137_3137, fun(ty, fun(exp(X_a3137_3137), exp(X_a3137_3137))), block(X_a3137_3137), A_23138_3138), Ty3139_3139), Exp3140_3140), hAPP(exp(X_a3137_3137), exp(X_a3137_3137), hAPP(exp(X_a3137_3137), fun(exp(X_a3137_3137), exp(X_a3137_3137)), while(X_a3137_3137), Exp1_13141_3141), Exp2_13142_3142))), ! [X_a3143_3143, Exp3144_3144, List13145_3145, List23146_3146, Exp1_13147_3147, Exp2_13148_3148] :  (~=(hAPP(list(char), exp(X_a3143_3143), hAPP(list(char), fun(list(char), exp(X_a3143_3143)), hAPP(exp(X_a3143_3143), fun(list(char), fun(list(char), exp(X_a3143_3143))), fAcc(X_a3143_3143), Exp3144_3144), List13145_3145), List23146_3146), hAPP(exp(X_a3143_3143), exp(X_a3143_3143), hAPP(exp(X_a3143_3143), fun(exp(X_a3143_3143), exp(X_a3143_3143)), while(X_a3143_3143), Exp1_13147_3147), Exp2_13148_3148))), ! [X_a3149_3149, Exp1_13150_3150, Exp2_13151_3151, Exp3152_3152, List13153_3153, List23154_3154] :  (~=(hAPP(exp(X_a3149_3149), exp(X_a3149_3149), hAPP(exp(X_a3149_3149), fun(exp(X_a3149_3149), exp(X_a3149_3149)), while(X_a3149_3149), Exp1_13150_3150), Exp2_13151_3151), hAPP(list(char), exp(X_a3149_3149), hAPP(list(char), fun(list(char), exp(X_a3149_3149)), hAPP(exp(X_a3149_3149), fun(list(char), fun(list(char), exp(X_a3149_3149))), fAcc(X_a3149_3149), Exp3152_3152), List13153_3153), List23154_3154))), ! [X_a3155_3155, Exp1_33156_3156, Exp2_33157_3157, Exp1_23158_3158, Exp2_23159_3159] :  ((=(hAPP(exp(X_a3155_3155), exp(X_a3155_3155), hAPP(exp(X_a3155_3155), fun(exp(X_a3155_3155), exp(X_a3155_3155)), while(X_a3155_3155), Exp1_33156_3156), Exp2_33157_3157), hAPP(exp(X_a3155_3155), exp(X_a3155_3155), hAPP(exp(X_a3155_3155), fun(exp(X_a3155_3155), exp(X_a3155_3155)), while(X_a3155_3155), Exp1_23158_3158), Exp2_23159_3159)) <=> (=(Exp1_33156_3156, Exp1_23158_3158) & =(Exp2_33157_3157, Exp2_23159_3159)))), ! [X_a3160_3160, Exp1_13161_3161, Exp2_13162_3162, Val3163_3163] :  (~=(hAPP(exp(X_a3160_3160), exp(X_a3160_3160), hAPP(exp(X_a3160_3160), fun(exp(X_a3160_3160), exp(X_a3160_3160)), while(X_a3160_3160), Exp1_13161_3161), Exp2_13162_3162), hAPP(val, exp(X_a3160_3160), val_1(X_a3160_3160), Val3163_3163))), ! [X_a3164_3164, Val3165_3165, Exp1_13166_3166, Exp2_13167_3167] :  (~=(hAPP(val, exp(X_a3164_3164), val_1(X_a3164_3164), Val3165_3165), hAPP(exp(X_a3164_3164), exp(X_a3164_3164), hAPP(exp(X_a3164_3164), fun(exp(X_a3164_3164), exp(X_a3164_3164)), while(X_a3164_3164), Exp1_13166_3166), Exp2_13167_3167))), ! [X_a3168_3168, Exp13169_3169, Exp23170_3170, Exp1_13171_3171, List3172_3172, A_13173_3173, Exp2_13174_3174] :  (~=(hAPP(exp(X_a3168_3168), exp(X_a3168_3168), hAPP(exp(X_a3168_3168), fun(exp(X_a3168_3168), exp(X_a3168_3168)), while(X_a3168_3168), Exp13169_3169), Exp23170_3170), hAPP(exp(X_a3168_3168), exp(X_a3168_3168), hAPP(X_a3168_3168, fun(exp(X_a3168_3168), exp(X_a3168_3168)), hAPP(list(char), fun(X_a3168_3168, fun(exp(X_a3168_3168), exp(X_a3168_3168))), hAPP(exp(X_a3168_3168), fun(list(char), fun(X_a3168_3168, fun(exp(X_a3168_3168), exp(X_a3168_3168)))), tryCatch(X_a3168_3168), Exp1_13171_3171), List3172_3172), A_13173_3173), Exp2_13174_3174))), ! [X_a3175_3175, Exp1_13176_3176, List3177_3177, A_13178_3178, Exp2_13179_3179, Exp13180_3180, Exp23181_3181] :  (~=(hAPP(exp(X_a3175_3175), exp(X_a3175_3175), hAPP(X_a3175_3175, fun(exp(X_a3175_3175), exp(X_a3175_3175)), hAPP(list(char), fun(X_a3175_3175, fun(exp(X_a3175_3175), exp(X_a3175_3175))), hAPP(exp(X_a3175_3175), fun(list(char), fun(X_a3175_3175, fun(exp(X_a3175_3175), exp(X_a3175_3175)))), tryCatch(X_a3175_3175), Exp1_13176_3176), List3177_3177), A_13178_3178), Exp2_13179_3179), hAPP(exp(X_a3175_3175), exp(X_a3175_3175), hAPP(exp(X_a3175_3175), fun(exp(X_a3175_3175), exp(X_a3175_3175)), while(X_a3175_3175), Exp13180_3180), Exp23181_3181))), ! [Y3182_3182] :  ((~=(ti(bop, Y3182_3182), c_Expr_Obop_OEq) => =(ti(bop, Y3182_3182), add))), ! [T3183_3183, A3184_3184] :  (=(ti(T3183_3183, ti(T3183_3183, A3184_3184)), ti(T3183_3183, A3184_3184))), ! [P3185_3185] :  ((~hBOOL(hAPP(bool, bool, fNot, P3185_3185)) | ~hBOOL(P3185_3185))), ! [P3186_3186] :  ((hBOOL(P3186_3186) | hBOOL(hAPP(bool, bool, fNot, P3186_3186)))), ! [X_a3187_3187, X_c3188_3188, X_b3189_3189, P3190_3190, Q3191_3191, R3192_3192] :  (=(hAPP(X_a3187_3187, X_c3188_3188, hAPP(fun(X_a3187_3187, X_b3189_3189), fun(X_a3187_3187, X_c3188_3188), hAPP(fun(X_b3189_3189, X_c3188_3188), fun(fun(X_a3187_3187, X_b3189_3189), fun(X_a3187_3187, X_c3188_3188)), combb(X_b3189_3189, X_c3188_3188, X_a3187_3187), P3190_3190), Q3191_3191), R3192_3192), hAPP(X_b3189_3189, X_c3188_3188, P3190_3190, hAPP(X_a3187_3187, X_b3189_3189, Q3191_3191, R3192_3192)))), ! [X_a3193_3193, X_c3194_3194, X_b3195_3195, P3196_3196, Q3197_3197, R3198_3198] :  (=(hAPP(X_a3193_3193, X_c3194_3194, hAPP(X_b3195_3195, fun(X_a3193_3193, X_c3194_3194), hAPP(fun(X_a3193_3193, fun(X_b3195_3195, X_c3194_3194)), fun(X_b3195_3195, fun(X_a3193_3193, X_c3194_3194)), combc(X_a3193_3193, X_b3195_3195, X_c3194_3194), P3196_3196), Q3197_3197), R3198_3198), hAPP(X_b3195_3195, X_c3194_3194, hAPP(X_a3193_3193, fun(X_b3195_3195, X_c3194_3194), P3196_3196, R3198_3198), Q3197_3197))), ! [X_b3199_3199, X_a3200_3200, P3201_3201, Q3202_3202] :  (=(hAPP(X_b3199_3199, X_a3200_3200, hAPP(X_a3200_3200, fun(X_b3199_3199, X_a3200_3200), combk(X_a3200_3200, X_b3199_3199), P3201_3201), Q3202_3202), ti(X_a3200_3200, P3201_3201))), ! [X_a3203_3203, X_c3204_3204, X_b3205_3205, P3206_3206, Q3207_3207, R3208_3208] :  (=(hAPP(X_a3203_3203, X_c3204_3204, hAPP(fun(X_a3203_3203, X_b3205_3205), fun(X_a3203_3203, X_c3204_3204), hAPP(fun(X_a3203_3203, fun(X_b3205_3205, X_c3204_3204)), fun(fun(X_a3203_3203, X_b3205_3205), fun(X_a3203_3203, X_c3204_3204)), combs(X_a3203_3203, X_b3205_3205, X_c3204_3204), P3206_3206), Q3207_3207), R3208_3208), hAPP(X_b3205_3205, X_c3204_3204, hAPP(X_a3203_3203, fun(X_b3205_3205, X_c3204_3204), P3206_3206, R3208_3208), hAPP(X_a3203_3203, X_b3205_3205, Q3207_3207, R3208_3208)))), ! [Q3209_3209, P3210_3210] :  (((~hBOOL(P3210_3210) | ~hBOOL(Q3209_3209)) | hBOOL(hAPP(bool, bool, hAPP(bool, fun(bool, bool), fconj, P3210_3210), Q3209_3209)))), ! [P3211_3211, Q3212_3212] :  ((~hBOOL(hAPP(bool, bool, hAPP(bool, fun(bool, bool), fconj, P3211_3211), Q3212_3212)) | hBOOL(P3211_3211))), ! [P3213_3213, Q3214_3214] :  ((~hBOOL(hAPP(bool, bool, hAPP(bool, fun(bool, bool), fconj, P3213_3213), Q3214_3214)) | hBOOL(Q3214_3214))), ~hBOOL(fFalse), ! [P3215_3215] :  ((=(ti(bool, P3215_3215), fTrue) | =(ti(bool, P3215_3215), fFalse))), ! [X_a3216_3216, X3217_3217, Y3218_3218] :  ((~hBOOL(hAPP(X_a3216_3216, bool, hAPP(X_a3216_3216, fun(X_a3216_3216, bool), fequal(X_a3216_3216), X3217_3217), Y3218_3218)) | =(ti(X_a3216_3216, X3217_3217), ti(X_a3216_3216, Y3218_3218)))), ! [X_a3219_3219, X3220_3220, Y3221_3221] :  ((~=(ti(X_a3219_3219, X3220_3220), ti(X_a3219_3219, Y3221_3221)) | hBOOL(hAPP(X_a3219_3219, bool, hAPP(X_a3219_3219, fun(X_a3219_3219, bool), fequal(X_a3219_3219), X3220_3220), Y3221_3221)))), ~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)))
% 165.17/79.10  
% 165.17/79.10  [1] CLOSURE : 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)))
% 165.17/79.10  
% 165.17/79.10  % SZS output end Proof for theBenchmark.p
% 165.17/79.10  [78.748913s][1][Res] 269 goroutines created
% 165.17/79.10  ==== Result ====
% 165.17/79.10  [78.748948s][1][Res] VALID
% 165.17/79.10  % SZS status Theorem for theBenchmark.p
%------------------------------------------------------------------------------