TSTP Solution File: SWW475+5 by Bliksem---1.12
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Bliksem---1.12
% Problem : SWW475+5 : TPTP v8.1.0. Released v5.3.0.
% Transfm : none
% Format : tptp:raw
% Command : bliksem %s
% Computer : n023.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 : 0s
% DateTime : Wed Jul 20 23:22:21 EDT 2022
% Result : Timeout 300.03s 300.44s
% Output : None
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----No solution output by system
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.08/0.14 % Problem : SWW475+5 : TPTP v8.1.0. Released v5.3.0.
% 0.08/0.15 % Command : bliksem %s
% 0.15/0.37 % Computer : n023.cluster.edu
% 0.15/0.37 % Model : x86_64 x86_64
% 0.15/0.37 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.37 % Memory : 8042.1875MB
% 0.15/0.37 % OS : Linux 3.10.0-693.el7.x86_64
% 0.15/0.37 % CPULimit : 300
% 0.15/0.37 % DateTime : Mon Jun 6 01:47:39 EDT 2022
% 0.15/0.37 % CPUTime :
% 1.41/2.19 *** allocated 10000 integers for termspace/termends
% 1.41/2.19 *** allocated 10000 integers for clauses
% 1.41/2.19 *** allocated 10000 integers for justifications
% 1.41/2.19 *** allocated 15000 integers for termspace/termends
% 1.41/2.19 *** allocated 22500 integers for termspace/termends
% 1.41/2.19 *** allocated 33750 integers for termspace/termends
% 1.41/2.19 *** allocated 50625 integers for termspace/termends
% 1.41/2.19 *** allocated 75937 integers for termspace/termends
% 1.41/2.19 Bliksem 1.12
% 1.41/2.19
% 1.41/2.19
% 1.41/2.19 Automatic Strategy Selection
% 1.41/2.19
% 1.41/2.19 *** allocated 113905 integers for termspace/termends
% 1.41/2.19 *** allocated 170857 integers for termspace/termends
% 1.41/2.19
% 1.41/2.19 Clauses:
% 1.41/2.19
% 1.41/2.19 { ti( fun( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.19 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.19 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.19 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.19 , fun( fun( nat, option( product_prod( list( char ), fun( product_prod(
% 1.41/2.19 list( char ), list( char ) ), option( val ) ) ) ) ), bool ) ), hconf(
% 1.41/2.19 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) = hconf(
% 1.41/2.19 product_prod( list( list( char ) ), exp( list( char ) ) ) ) }.
% 1.41/2.19 { ti( fun( exp( X ), fun( list( char ), fun( list( exp( X ) ), exp( X ) ) )
% 1.41/2.19 ), call( X ) ) = call( X ) }.
% 1.41/2.19 { ti( fun( list( char ), fun( exp( X ), exp( X ) ) ), cast( X ) ) = cast( X
% 1.41/2.19 ) }.
% 1.41/2.19 { ti( fun( exp( X ), fun( list( char ), fun( list( char ), exp( X ) ) ) ),
% 1.41/2.19 fAcc( X ) ) = fAcc( X ) }.
% 1.41/2.19 { ti( fun( exp( X ), fun( list( char ), fun( X, fun( exp( X ), exp( X ) ) )
% 1.41/2.19 ) ), tryCatch( X ) ) = tryCatch( X ) }.
% 1.41/2.19 { val_1( X, ti( val, Y ) ) = val_1( X, Y ) }.
% 1.41/2.19 { ti( exp( X ), val_1( X, Y ) ) = val_1( X, Y ) }.
% 1.41/2.19 { throw( X, ti( exp( X ), Y ) ) = throw( X, Y ) }.
% 1.41/2.19 { ti( exp( X ), throw( X, Y ) ) = throw( X, Y ) }.
% 1.41/2.19 { ti( X, undefined( X ) ) = undefined( X ) }.
% 1.41/2.19 { ti( fun( exp( list( char ) ), fun( list( exp( list( char ) ) ), list( exp
% 1.41/2.19 ( list( char ) ) ) ) ), cons( exp( list( char ) ) ) ) = cons( exp( list(
% 1.41/2.19 char ) ) ) }.
% 1.41/2.19 { ti( fun( fun( X, option( Y ) ), fun( fun( X, option( Y ) ), fun( X,
% 1.41/2.19 option( Y ) ) ) ), map_add( X, Y ) ) = map_add( X, Y ) }.
% 1.41/2.19 { ti( fun( fun( nat, option( product_prod( list( char ), fun( product_prod
% 1.41/2.19 ( list( char ), list( char ) ), option( val ) ) ) ) ), fun( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), bool ) ), hext ) = hext }.
% 1.41/2.19 { ti( fun( X, fun( Y, product_prod( X, Y ) ) ), product_Pair( X, Y ) ) =
% 1.41/2.19 product_Pair( X, Y ) }.
% 1.41/2.19 { ti( fun( fun( product_prod( X, Y ), Z ), fun( X, fun( Y, Z ) ) ),
% 1.41/2.19 product_curry( X, Y, Z ) ) = product_curry( X, Y, Z ) }.
% 1.41/2.19 { ti( fun( fun( X, fun( Y, Z ) ), fun( product_prod( X, Y ), Z ) ),
% 1.41/2.19 produc1605651328_split( X, Y, Z ) ) = produc1605651328_split( X, Y, Z ) }
% 1.41/2.19 .
% 1.41/2.19 { ti( fun( fun( X, fun( Y, Z ) ), fun( product_prod( X, Y ), Z ) ),
% 1.41/2.19 product_prod_rec( X, Y, Z ) ) = product_prod_rec( X, Y, Z ) }.
% 1.41/2.19 { ti( fun( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.19 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.19 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.19 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.19 , fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 ), bool ) ), red ) = red }.
% 1.41/2.19 { ti( fun( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.19 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.19 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.19 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.19 , fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), bool ) ), reds ) = reds }.
% 1.41/2.19 { ti( fun( fun( product_prod( X, X ), bool ), fun( product_prod( X, X ),
% 1.41/2.19 bool ) ), transitive_rtrancl( X ) ) = transitive_rtrancl( X ) }.
% 1.41/2.19 { ti( val, null ) = null }.
% 1.41/2.19 { ti( fun( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.19 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.19 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.19 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.19 , fun( fun( nat, option( product_prod( list( char ), fun( product_prod(
% 1.41/2.19 list( char ), list( char ) ), option( val ) ) ) ) ), fun( fun( list( char
% 1.41/2.19 ), option( ty ) ), fun( exp( list( char ) ), fun( ty, bool ) ) ) ) ),
% 1.41/2.19 wTrt ) = wTrt }.
% 1.41/2.19 { hAPP( X, Y, ti( fun( X, Y ), Z ), T ) = hAPP( X, Y, Z, T ) }.
% 1.41/2.19 { hAPP( X, Y, Z, ti( X, T ) ) = hAPP( X, Y, Z, T ) }.
% 1.41/2.19 { ti( X, hAPP( Y, X, Z, T ) ) = hAPP( Y, X, Z, T ) }.
% 1.41/2.19 { ! hBOOL( ti( bool, X ) ), hBOOL( X ) }.
% 1.41/2.19 { ! hBOOL( X ), hBOOL( ti( bool, X ) ) }.
% 1.41/2.19 { ti( fun( X, fun( fun( X, bool ), bool ) ), member( X ) ) = member( X ) }
% 1.41/2.19 .
% 1.41/2.19 { ti( fun( list( char ), option( ty ) ), e_1 ) = e_1 }.
% 1.41/2.19 { ti( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.19 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.19 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.19 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.19 , p ) = p }.
% 1.41/2.19 { ti( ty, t ) = t }.
% 1.41/2.19 { ti( exp( list( char ) ), e ) = e }.
% 1.41/2.19 { ti( exp( list( char ) ), e_2 ) = e_2 }.
% 1.41/2.19 { ti( fun( nat, option( product_prod( list( char ), fun( product_prod( list
% 1.41/2.19 ( char ), list( char ) ), option( val ) ) ) ) ), h_1 ) = h_1 }.
% 1.41/2.19 { ti( fun( nat, option( product_prod( list( char ), fun( product_prod( list
% 1.41/2.19 ( char ), list( char ) ), option( val ) ) ) ) ), h ) = h }.
% 1.41/2.19 { ti( fun( list( char ), option( val ) ), l_1 ) = l_1 }.
% 1.41/2.19 { ti( fun( list( char ), option( val ) ), l ) = l }.
% 1.41/2.19 { ! hBOOL( hAPP( product_prod( X, product_prod( Y, product_prod( Z,
% 1.41/2.19 product_prod( T, product_prod( U, W ) ) ) ) ), bool, V0, hAPP(
% 1.41/2.19 product_prod( Y, product_prod( Z, product_prod( T, product_prod( U, W ) )
% 1.41/2.19 ) ), product_prod( X, product_prod( Y, product_prod( Z, product_prod( T
% 1.41/2.19 , product_prod( U, W ) ) ) ) ), hAPP( X, fun( product_prod( Y,
% 1.41/2.19 product_prod( Z, product_prod( T, product_prod( U, W ) ) ) ),
% 1.41/2.19 product_prod( X, product_prod( Y, product_prod( Z, product_prod( T,
% 1.41/2.19 product_prod( U, W ) ) ) ) ) ), product_Pair( X, product_prod( Y,
% 1.41/2.19 product_prod( Z, product_prod( T, product_prod( U, W ) ) ) ) ), skol1( X
% 1.41/2.19 , Y, Z, T, U, W, V0 ) ), hAPP( product_prod( Z, product_prod( T,
% 1.41/2.19 product_prod( U, W ) ) ), product_prod( Y, product_prod( Z, product_prod
% 1.41/2.19 ( T, product_prod( U, W ) ) ) ), hAPP( Y, fun( product_prod( Z,
% 1.41/2.19 product_prod( T, product_prod( U, W ) ) ), product_prod( Y, product_prod
% 1.41/2.19 ( Z, product_prod( T, product_prod( U, W ) ) ) ) ), product_Pair( Y,
% 1.41/2.19 product_prod( Z, product_prod( T, product_prod( U, W ) ) ) ), skol22( X,
% 1.41/2.19 Y, Z, T, U, W, V0 ) ), hAPP( product_prod( T, product_prod( U, W ) ),
% 1.41/2.19 product_prod( Z, product_prod( T, product_prod( U, W ) ) ), hAPP( Z, fun
% 1.41/2.19 ( product_prod( T, product_prod( U, W ) ), product_prod( Z, product_prod
% 1.41/2.19 ( T, product_prod( U, W ) ) ) ), product_Pair( Z, product_prod( T,
% 1.41/2.19 product_prod( U, W ) ) ), skol39( X, Y, Z, T, U, W, V0 ) ), hAPP(
% 1.41/2.19 product_prod( U, W ), product_prod( T, product_prod( U, W ) ), hAPP( T,
% 1.41/2.19 fun( product_prod( U, W ), product_prod( T, product_prod( U, W ) ) ),
% 1.41/2.19 product_Pair( T, product_prod( U, W ) ), skol50( X, Y, Z, T, U, W, V0 ) )
% 1.41/2.19 , hAPP( W, product_prod( U, W ), hAPP( U, fun( W, product_prod( U, W ) )
% 1.41/2.19 , product_Pair( U, W ), skol57( X, Y, Z, T, U, W, V0 ) ), skol61( X, Y, Z
% 1.41/2.19 , T, U, W, V0 ) ) ) ) ) ) ) ), hBOOL( hAPP( product_prod( X, product_prod
% 1.41/2.19 ( Y, product_prod( Z, product_prod( T, product_prod( U, W ) ) ) ) ), bool
% 1.41/2.19 , V0, V1 ) ) }.
% 1.41/2.19 { ti( product_prod( X, product_prod( Y, product_prod( Z, product_prod( T,
% 1.41/2.19 product_prod( U, W ) ) ) ) ), V0 ) = hAPP( product_prod( Y, product_prod
% 1.41/2.19 ( Z, product_prod( T, product_prod( U, W ) ) ) ), product_prod( X,
% 1.41/2.19 product_prod( Y, product_prod( Z, product_prod( T, product_prod( U, W ) )
% 1.41/2.19 ) ) ), hAPP( X, fun( product_prod( Y, product_prod( Z, product_prod( T,
% 1.41/2.19 product_prod( U, W ) ) ) ), product_prod( X, product_prod( Y,
% 1.41/2.19 product_prod( Z, product_prod( T, product_prod( U, W ) ) ) ) ) ),
% 1.41/2.19 product_Pair( X, product_prod( Y, product_prod( Z, product_prod( T,
% 1.41/2.19 product_prod( U, W ) ) ) ) ), skol2( X, Y, Z, T, U, W, V0 ) ), hAPP(
% 1.41/2.19 product_prod( Z, product_prod( T, product_prod( U, W ) ) ), product_prod
% 1.41/2.19 ( Y, product_prod( Z, product_prod( T, product_prod( U, W ) ) ) ), hAPP(
% 1.41/2.19 Y, fun( product_prod( Z, product_prod( T, product_prod( U, W ) ) ),
% 1.41/2.19 product_prod( Y, product_prod( Z, product_prod( T, product_prod( U, W ) )
% 1.41/2.19 ) ) ), product_Pair( Y, product_prod( Z, product_prod( T, product_prod(
% 1.41/2.19 U, W ) ) ) ), skol23( X, Y, Z, T, U, W, V0 ) ), hAPP( product_prod( T,
% 1.41/2.19 product_prod( U, W ) ), product_prod( Z, product_prod( T, product_prod( U
% 1.41/2.19 , W ) ) ), hAPP( Z, fun( product_prod( T, product_prod( U, W ) ),
% 1.41/2.19 product_prod( Z, product_prod( T, product_prod( U, W ) ) ) ),
% 1.41/2.19 product_Pair( Z, product_prod( T, product_prod( U, W ) ) ), skol40( X, Y
% 1.41/2.19 , Z, T, U, W, V0 ) ), hAPP( product_prod( U, W ), product_prod( T,
% 1.41/2.19 product_prod( U, W ) ), hAPP( T, fun( product_prod( U, W ), product_prod
% 1.41/2.19 ( T, product_prod( U, W ) ) ), product_Pair( T, product_prod( U, W ) ),
% 1.41/2.19 skol51( X, Y, Z, T, U, W, V0 ) ), hAPP( W, product_prod( U, W ), hAPP( U
% 1.41/2.19 , fun( W, product_prod( U, W ) ), product_Pair( U, W ), skol58( X, Y, Z,
% 1.41/2.19 T, U, W, V0 ) ), skol62( X, Y, Z, T, U, W, V0 ) ) ) ) ) ) }.
% 1.41/2.19 { ! hBOOL( hAPP( product_prod( X, product_prod( Y, product_prod( Z,
% 1.41/2.19 product_prod( T, U ) ) ) ), bool, W, hAPP( product_prod( Y, product_prod
% 1.41/2.19 ( Z, product_prod( T, U ) ) ), product_prod( X, product_prod( Y,
% 1.41/2.19 product_prod( Z, product_prod( T, U ) ) ) ), hAPP( X, fun( product_prod(
% 1.41/2.19 Y, product_prod( Z, product_prod( T, U ) ) ), product_prod( X,
% 1.41/2.19 product_prod( Y, product_prod( Z, product_prod( T, U ) ) ) ) ),
% 1.41/2.19 product_Pair( X, product_prod( Y, product_prod( Z, product_prod( T, U ) )
% 1.41/2.19 ) ), skol3( X, Y, Z, T, U, W ) ), hAPP( product_prod( Z, product_prod( T
% 1.41/2.19 , U ) ), product_prod( Y, product_prod( Z, product_prod( T, U ) ) ), hAPP
% 1.41/2.19 ( Y, fun( product_prod( Z, product_prod( T, U ) ), product_prod( Y,
% 1.41/2.19 product_prod( Z, product_prod( T, U ) ) ) ), product_Pair( Y,
% 1.41/2.19 product_prod( Z, product_prod( T, U ) ) ), skol24( X, Y, Z, T, U, W ) ),
% 1.41/2.19 hAPP( product_prod( T, U ), product_prod( Z, product_prod( T, U ) ), hAPP
% 1.41/2.19 ( Z, fun( product_prod( T, U ), product_prod( Z, product_prod( T, U ) ) )
% 1.41/2.19 , product_Pair( Z, product_prod( T, U ) ), skol41( X, Y, Z, T, U, W ) ),
% 1.41/2.19 hAPP( U, product_prod( T, U ), hAPP( T, fun( U, product_prod( T, U ) ),
% 1.41/2.19 product_Pair( T, U ), skol52( X, Y, Z, T, U, W ) ), skol59( X, Y, Z, T, U
% 1.41/2.19 , W ) ) ) ) ) ) ), hBOOL( hAPP( product_prod( X, product_prod( Y,
% 1.41/2.19 product_prod( Z, product_prod( T, U ) ) ) ), bool, W, V0 ) ) }.
% 1.41/2.19 { ti( product_prod( X, product_prod( Y, product_prod( Z, product_prod( T, U
% 1.41/2.19 ) ) ) ), W ) = hAPP( product_prod( Y, product_prod( Z, product_prod( T,
% 1.41/2.19 U ) ) ), product_prod( X, product_prod( Y, product_prod( Z, product_prod
% 1.41/2.19 ( T, U ) ) ) ), hAPP( X, fun( product_prod( Y, product_prod( Z,
% 1.41/2.19 product_prod( T, U ) ) ), product_prod( X, product_prod( Y, product_prod
% 1.41/2.19 ( Z, product_prod( T, U ) ) ) ) ), product_Pair( X, product_prod( Y,
% 1.41/2.19 product_prod( Z, product_prod( T, U ) ) ) ), skol4( X, Y, Z, T, U, W ) )
% 1.41/2.19 , hAPP( product_prod( Z, product_prod( T, U ) ), product_prod( Y,
% 1.41/2.19 product_prod( Z, product_prod( T, U ) ) ), hAPP( Y, fun( product_prod( Z
% 1.41/2.19 , product_prod( T, U ) ), product_prod( Y, product_prod( Z, product_prod
% 1.41/2.19 ( T, U ) ) ) ), product_Pair( Y, product_prod( Z, product_prod( T, U ) )
% 1.41/2.19 ), skol25( X, Y, Z, T, U, W ) ), hAPP( product_prod( T, U ),
% 1.41/2.19 product_prod( Z, product_prod( T, U ) ), hAPP( Z, fun( product_prod( T, U
% 1.41/2.19 ), product_prod( Z, product_prod( T, U ) ) ), product_Pair( Z,
% 1.41/2.19 product_prod( T, U ) ), skol42( X, Y, Z, T, U, W ) ), hAPP( U,
% 1.41/2.19 product_prod( T, U ), hAPP( T, fun( U, product_prod( T, U ) ),
% 1.41/2.19 product_Pair( T, U ), skol53( X, Y, Z, T, U, W ) ), skol60( X, Y, Z, T, U
% 1.41/2.19 , W ) ) ) ) ) }.
% 1.41/2.19 { ! hBOOL( hAPP( product_prod( X, product_prod( Y, product_prod( Z, T ) ) )
% 1.41/2.19 , bool, U, hAPP( product_prod( Y, product_prod( Z, T ) ), product_prod( X
% 1.41/2.19 , product_prod( Y, product_prod( Z, T ) ) ), hAPP( X, fun( product_prod(
% 1.41/2.19 Y, product_prod( Z, T ) ), product_prod( X, product_prod( Y, product_prod
% 1.41/2.19 ( Z, T ) ) ) ), product_Pair( X, product_prod( Y, product_prod( Z, T ) )
% 1.41/2.19 ), skol5( X, Y, Z, T, U ) ), hAPP( product_prod( Z, T ), product_prod( Y
% 1.41/2.19 , product_prod( Z, T ) ), hAPP( Y, fun( product_prod( Z, T ),
% 1.41/2.19 product_prod( Y, product_prod( Z, T ) ) ), product_Pair( Y, product_prod
% 1.41/2.19 ( Z, T ) ), skol26( X, Y, Z, T, U ) ), hAPP( T, product_prod( Z, T ),
% 1.41/2.19 hAPP( Z, fun( T, product_prod( Z, T ) ), product_Pair( Z, T ), skol43( X
% 1.41/2.19 , Y, Z, T, U ) ), skol54( X, Y, Z, T, U ) ) ) ) ) ), hBOOL( hAPP(
% 1.41/2.19 product_prod( X, product_prod( Y, product_prod( Z, T ) ) ), bool, U, W )
% 1.41/2.19 ) }.
% 1.41/2.19 { ti( product_prod( X, product_prod( Y, product_prod( Z, T ) ) ), U ) =
% 1.41/2.19 hAPP( product_prod( Y, product_prod( Z, T ) ), product_prod( X,
% 1.41/2.19 product_prod( Y, product_prod( Z, T ) ) ), hAPP( X, fun( product_prod( Y
% 1.41/2.19 , product_prod( Z, T ) ), product_prod( X, product_prod( Y, product_prod
% 1.41/2.19 ( Z, T ) ) ) ), product_Pair( X, product_prod( Y, product_prod( Z, T ) )
% 1.41/2.19 ), skol6( X, Y, Z, T, U ) ), hAPP( product_prod( Z, T ), product_prod( Y
% 1.41/2.19 , product_prod( Z, T ) ), hAPP( Y, fun( product_prod( Z, T ),
% 1.41/2.19 product_prod( Y, product_prod( Z, T ) ) ), product_Pair( Y, product_prod
% 1.41/2.19 ( Z, T ) ), skol27( X, Y, Z, T, U ) ), hAPP( T, product_prod( Z, T ),
% 1.41/2.19 hAPP( Z, fun( T, product_prod( Z, T ) ), product_Pair( Z, T ), skol44( X
% 1.41/2.19 , Y, Z, T, U ) ), skol55( X, Y, Z, T, U ) ) ) ) }.
% 1.41/2.19 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.19 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.19 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.19 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.19 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.19 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.19 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.19 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.19 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.19 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.19 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.19 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ) ), Z ), hAPP( fun( list( char ), option
% 1.41/2.19 ( val ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ), hAPP( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( fun( list( char ), option( val ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_Pair( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ), X ), T )
% 1.41/2.19 ) ), hAPP( product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), U ), hAPP( fun( list( char ), option(
% 1.41/2.19 val ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ), hAPP( fun( nat, option( product_prod(
% 1.41/2.19 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.19 val ) ) ) ) ), fun( fun( list( char ), option( val ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_Pair( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ), Y ), W ) ) ) ), hAPP( list(
% 1.41/2.19 product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.19 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.19 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.19 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.19 ), red, V0 ) ) ), hBOOL( hAPP( fun( nat, option( product_prod( list(
% 1.41/2.19 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.19 ) ) ), bool, hAPP( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.19 char ), list( char ) ), option( val ) ) ) ) ), bool ), hext, X ), Y ) ) }
% 1.41/2.19 .
% 1.41/2.19 { ! hBOOL( hAPP( product_prod( X, product_prod( Y, Z ) ), bool, T, hAPP(
% 1.41/2.19 product_prod( Y, Z ), product_prod( X, product_prod( Y, Z ) ), hAPP( X,
% 1.41/2.19 fun( product_prod( Y, Z ), product_prod( X, product_prod( Y, Z ) ) ),
% 1.41/2.19 product_Pair( X, product_prod( Y, Z ) ), skol7( X, Y, Z, T ) ), hAPP( Z,
% 1.41/2.19 product_prod( Y, Z ), hAPP( Y, fun( Z, product_prod( Y, Z ) ),
% 1.41/2.19 product_Pair( Y, Z ), skol28( X, Y, Z, T ) ), skol45( X, Y, Z, T ) ) ) )
% 1.41/2.19 ), hBOOL( hAPP( product_prod( X, product_prod( Y, Z ) ), bool, T, U ) )
% 1.41/2.19 }.
% 1.41/2.19 { ti( product_prod( X, product_prod( Y, Z ) ), T ) = hAPP( product_prod( Y
% 1.41/2.19 , Z ), product_prod( X, product_prod( Y, Z ) ), hAPP( X, fun(
% 1.41/2.19 product_prod( Y, Z ), product_prod( X, product_prod( Y, Z ) ) ),
% 1.41/2.19 product_Pair( X, product_prod( Y, Z ) ), skol8( X, Y, Z, T ) ), hAPP( Z,
% 1.41/2.19 product_prod( Y, Z ), hAPP( Y, fun( Z, product_prod( Y, Z ) ),
% 1.41/2.19 product_Pair( Y, Z ), skol29( X, Y, Z, T ) ), skol46( X, Y, Z, T ) ) ) }
% 1.41/2.19 .
% 1.41/2.19 { ! hBOOL( hAPP( product_prod( X, Y ), bool, Z, skol9( X, Y, Z ) ) ), hBOOL
% 1.41/2.19 ( hAPP( product_prod( X, Y ), bool, Z, hAPP( Y, product_prod( X, Y ),
% 1.41/2.19 hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), T ), U ) )
% 1.41/2.19 ) }.
% 1.41/2.19 { ! hBOOL( hAPP( product_prod( X, Y ), bool, Z, hAPP( Y, product_prod( X, Y
% 1.41/2.19 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), skol30
% 1.41/2.19 ( X, Y, Z ) ), skol47( X, Y, Z ) ) ) ), hBOOL( hAPP( product_prod( X, Y )
% 1.41/2.19 , bool, Z, T ) ) }.
% 1.41/2.19 { ! hAPP( X, product_prod( Y, X ), hAPP( Y, fun( X, product_prod( Y, X ) )
% 1.41/2.19 , product_Pair( Y, X ), Z ), T ) = hAPP( X, product_prod( Y, X ), hAPP( Y
% 1.41/2.19 , fun( X, product_prod( Y, X ) ), product_Pair( Y, X ), U ), W ), ti( Y,
% 1.41/2.19 Z ) = ti( Y, U ) }.
% 1.41/2.19 { ! hAPP( X, product_prod( Y, X ), hAPP( Y, fun( X, product_prod( Y, X ) )
% 1.41/2.19 , product_Pair( Y, X ), Z ), T ) = hAPP( X, product_prod( Y, X ), hAPP( Y
% 1.41/2.19 , fun( X, product_prod( Y, X ) ), product_Pair( Y, X ), U ), W ), ti( X,
% 1.41/2.19 T ) = ti( X, W ) }.
% 1.41/2.19 { ! ti( Y, Z ) = ti( Y, U ), ! ti( X, T ) = ti( X, W ), hAPP( X,
% 1.41/2.19 product_prod( Y, X ), hAPP( Y, fun( X, product_prod( Y, X ) ),
% 1.41/2.19 product_Pair( Y, X ), Z ), T ) = hAPP( X, product_prod( Y, X ), hAPP( Y,
% 1.41/2.19 fun( X, product_prod( Y, X ) ), product_Pair( Y, X ), U ), W ) }.
% 1.41/2.19 { ! hAPP( X, product_prod( Y, X ), hAPP( Y, fun( X, product_prod( Y, X ) )
% 1.41/2.19 , product_Pair( Y, X ), Z ), T ) = hAPP( X, product_prod( Y, X ), hAPP( Y
% 1.41/2.19 , fun( X, product_prod( Y, X ) ), product_Pair( Y, X ), U ), W ), ti( Y,
% 1.41/2.19 Z ) = ti( Y, U ) }.
% 1.41/2.19 { ! hAPP( X, product_prod( Y, X ), hAPP( Y, fun( X, product_prod( Y, X ) )
% 1.41/2.19 , product_Pair( Y, X ), Z ), T ) = hAPP( X, product_prod( Y, X ), hAPP( Y
% 1.41/2.19 , fun( X, product_prod( Y, X ) ), product_Pair( Y, X ), U ), W ), ti( X,
% 1.41/2.19 T ) = ti( X, W ) }.
% 1.41/2.19 { hBOOL( hAPP( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), bool,
% 1.41/2.19 hAPP( fun( nat, option( product_prod( list( char ), fun( product_prod(
% 1.41/2.19 list( char ), list( char ) ), option( val ) ) ) ) ), fun( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), bool ), hext, X ), X ) ) }.
% 1.41/2.19 { ! hBOOL( hAPP( ty, bool, hAPP( exp( list( char ) ), fun( ty, bool ), hAPP
% 1.41/2.19 ( fun( list( char ), option( ty ) ), fun( exp( list( char ) ), fun( ty,
% 1.41/2.19 bool ) ), hAPP( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 fun( list( char ), option( ty ) ), fun( exp( list( char ) ), fun( ty,
% 1.41/2.19 bool ) ) ), hAPP( list( product_prod( list( char ), product_prod( list(
% 1.41/2.19 char ), product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.19 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.19 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.19 , fun( fun( nat, option( product_prod( list( char ), fun( product_prod(
% 1.41/2.19 list( char ), list( char ) ), option( val ) ) ) ) ), fun( fun( list( char
% 1.41/2.19 ), option( ty ) ), fun( exp( list( char ) ), fun( ty, bool ) ) ) ), wTrt
% 1.41/2.19 , X ), Y ), Z ), T ), U ) ), ! hBOOL( hAPP( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), bool, hAPP( fun( nat, option( product_prod(
% 1.41/2.19 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.19 val ) ) ) ) ), fun( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), bool )
% 1.41/2.19 , hext, Y ), W ) ), hBOOL( hAPP( ty, bool, hAPP( exp( list( char ) ), fun
% 1.41/2.19 ( ty, bool ), hAPP( fun( list( char ), option( ty ) ), fun( exp( list(
% 1.41/2.19 char ) ), fun( ty, bool ) ), hAPP( fun( nat, option( product_prod( list(
% 1.41/2.19 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.19 ) ) ), fun( fun( list( char ), option( ty ) ), fun( exp( list( char ) )
% 1.41/2.19 , fun( ty, bool ) ) ), hAPP( list( product_prod( list( char ),
% 1.41/2.19 product_prod( list( char ), product_prod( list( product_prod( list( char
% 1.41/2.19 ), ty ) ), list( product_prod( list( char ), product_prod( list( ty ),
% 1.41/2.19 product_prod( ty, product_prod( list( list( char ) ), exp( list( char ) )
% 1.41/2.19 ) ) ) ) ) ) ) ) ), fun( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( fun( list( char ), option( ty ) ), fun( exp( list( char ) ), fun( ty
% 1.41/2.19 , bool ) ) ) ), wTrt, X ), W ), Z ), T ), U ) ) }.
% 1.41/2.19 { hAPP( product_prod( X, Y ), Z, hAPP( fun( X, fun( Y, Z ) ), fun(
% 1.41/2.19 product_prod( X, Y ), Z ), product_prod_rec( X, Y, Z ), T ), hAPP( Y,
% 1.41/2.19 product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y ) ),
% 1.41/2.19 product_Pair( X, Y ), U ), W ) ) = hAPP( Y, Z, hAPP( X, fun( Y, Z ), T, U
% 1.41/2.19 ), W ) }.
% 1.41/2.19 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.19 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.19 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.19 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.19 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.19 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.19 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.19 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.19 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.19 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.19 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.19 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ) ), X ), hAPP( fun( list( char ), option
% 1.41/2.19 ( val ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ), hAPP( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( fun( list( char ), option( val ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_Pair( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ), Y ), Z )
% 1.41/2.19 ) ), hAPP( product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), T ), hAPP( fun( list( char ), option(
% 1.41/2.19 val ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ), hAPP( fun( nat, option( product_prod(
% 1.41/2.19 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.19 val ) ) ) ) ), fun( fun( list( char ), option( val ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_Pair( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ), U ), W ) ) ) ), hAPP( list(
% 1.41/2.19 product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.19 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.19 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.19 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.19 ), red, V0 ) ) ), hBOOL( hAPP( fun( product_prod( product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.19 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.19 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.19 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.19 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.19 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.19 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.19 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.19 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.19 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.19 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.19 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ) ), X ), hAPP( fun( list( char ), option
% 1.41/2.19 ( val ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ), hAPP( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( fun( list( char ), option( val ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_Pair( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ), Y ),
% 1.41/2.19 hAPP( fun( list( char ), option( val ) ), fun( list( char ), option( val
% 1.41/2.19 ) ), hAPP( fun( list( char ), option( val ) ), fun( fun( list( char ),
% 1.41/2.19 option( val ) ), fun( list( char ), option( val ) ) ), map_add( list(
% 1.41/2.19 char ), val ), V1 ), Z ) ) ) ), hAPP( product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.19 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.19 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.19 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.19 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ) ), T ), hAPP( fun( list( char ), option
% 1.41/2.19 ( val ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ), hAPP( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( fun( list( char ), option( val ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_Pair( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ), U ),
% 1.41/2.19 hAPP( fun( list( char ), option( val ) ), fun( list( char ), option( val
% 1.41/2.19 ) ), hAPP( fun( list( char ), option( val ) ), fun( fun( list( char ),
% 1.41/2.19 option( val ) ), fun( list( char ), option( val ) ) ), map_add( list(
% 1.41/2.19 char ), val ), V1 ), W ) ) ) ) ), hAPP( list( product_prod( list( char )
% 1.41/2.19 , product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.19 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.19 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.19 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), bool ), red, V0 ) ) ) }.
% 1.41/2.19 { ti( product_prod( X, Y ), Z ) = hAPP( Y, product_prod( X, Y ), hAPP( X,
% 1.41/2.19 fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), skol10( X, Y, Z ) )
% 1.41/2.19 , skol31( X, Y, Z ) ) }.
% 1.41/2.19 { ti( product_prod( X, Y ), Z ) = hAPP( Y, product_prod( X, Y ), hAPP( X,
% 1.41/2.19 fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), skol11( X, Y, Z ) )
% 1.41/2.19 , skol32( X, Y, Z ) ) }.
% 1.41/2.19 { ! hBOOL( hAPP( product_prod( X, Y ), bool, Z, T ) ), hBOOL( hAPP(
% 1.41/2.19 product_prod( X, Y ), bool, Z, hAPP( Y, product_prod( X, Y ), hAPP( X,
% 1.41/2.19 fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), skol12( X, Y, Z ) )
% 1.41/2.19 , skol33( X, Y, Z ) ) ) ) }.
% 1.41/2.19 { ! hBOOL( hAPP( product_prod( X, Y ), bool, Z, hAPP( Y, product_prod( X, Y
% 1.41/2.19 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), T ), U
% 1.41/2.19 ) ) ), hBOOL( hAPP( product_prod( X, Y ), bool, Z, skol48( X, Y, Z ) ) )
% 1.41/2.19 }.
% 1.41/2.19 { hAPP( product_prod( X, Y ), Z, hAPP( fun( X, fun( Y, Z ) ), fun(
% 1.41/2.19 product_prod( X, Y ), Z ), produc1605651328_split( X, Y, Z ), T ), hAPP(
% 1.41/2.19 Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y ) ),
% 1.41/2.19 product_Pair( X, Y ), U ), W ) ) = hAPP( Y, Z, hAPP( X, fun( Y, Z ), T, U
% 1.41/2.19 ), W ) }.
% 1.41/2.19 { ! hBOOL( hAPP( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), bool,
% 1.41/2.19 hAPP( fun( nat, option( product_prod( list( char ), fun( product_prod(
% 1.41/2.19 list( char ), list( char ) ), option( val ) ) ) ) ), fun( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), bool ), hext, X ), Y ) ), ! hBOOL(
% 1.41/2.19 hAPP( fun( nat, option( product_prod( list( char ), fun( product_prod(
% 1.41/2.19 list( char ), list( char ) ), option( val ) ) ) ) ), bool, hAPP( fun( nat
% 1.41/2.19 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.19 list( char ) ), option( val ) ) ) ) ), fun( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), bool ), hext, Y ), Z ) ), hBOOL( hAPP( fun(
% 1.41/2.19 nat, option( product_prod( list( char ), fun( product_prod( list( char )
% 1.41/2.19 , list( char ) ), option( val ) ) ) ) ), bool, hAPP( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( fun( nat, option( product_prod( list(
% 1.41/2.19 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.19 ) ) ), bool ), hext, X ), Z ) ) }.
% 1.41/2.19 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.19 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.19 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.19 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.19 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.19 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.19 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.19 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.19 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.19 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.19 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.19 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.19 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.19 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.19 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ) ), X ), hAPP( fun( list( char ), option
% 1.41/2.19 ( val ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ), hAPP( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( fun( list( char ), option( val ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_Pair( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ), Y ), Z )
% 1.41/2.19 ) ), hAPP( product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), T ), hAPP( fun( list( char ), option(
% 1.41/2.19 val ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ), hAPP( fun( nat, option( product_prod(
% 1.41/2.19 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.19 val ) ) ) ) ), fun( fun( list( char ), option( val ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_Pair( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ), U ), W ) ) ) ), hAPP( fun(
% 1.41/2.19 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.19 ), fun( product_prod( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.19 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.19 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.19 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.19 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.19 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.19 ) ) ), bool ), transitive_rtrancl( product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.19 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.19 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.19 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.19 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.19 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), bool ), red, V0 ) ) ) ), hBOOL( hAPP
% 1.41/2.19 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 ), bool ), bool, hAPP( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), fun( fun( product_prod( product_prod
% 1.41/2.19 ( exp( list( char ) ), product_prod( fun( nat, option( product_prod( list
% 1.41/2.19 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.19 ) ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list
% 1.41/2.19 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.19 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.19 fun( list( char ), option( val ) ) ) ) ), bool ), bool ), member(
% 1.41/2.19 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.19 hAPP( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.19 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.19 ( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), fun(
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.19 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.19 product_Pair( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.19 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), X ), hAPP( fun( list( char ), option(
% 1.41/2.19 val ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ), hAPP( fun( nat, option( product_prod(
% 1.41/2.19 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.19 val ) ) ) ) ), fun( fun( list( char ), option( val ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_Pair( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ), Y ), hAPP( fun( list( char ), option(
% 1.41/2.19 val ) ), fun( list( char ), option( val ) ), hAPP( fun( list( char ),
% 1.41/2.19 option( val ) ), fun( fun( list( char ), option( val ) ), fun( list( char
% 1.41/2.19 ), option( val ) ) ), map_add( list( char ), val ), V1 ), Z ) ) ) ),
% 1.41/2.19 hAPP( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), T ), hAPP( fun( list( char ), option(
% 1.41/2.19 val ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ), hAPP( fun( nat, option( product_prod(
% 1.41/2.19 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.19 val ) ) ) ) ), fun( fun( list( char ), option( val ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_Pair( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.19 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.19 ( list( char ), option( val ) ) ), U ), hAPP( fun( list( char ), option(
% 1.41/2.19 val ) ), fun( list( char ), option( val ) ), hAPP( fun( list( char ),
% 1.41/2.19 option( val ) ), fun( fun( list( char ), option( val ) ), fun( list( char
% 1.41/2.19 ), option( val ) ) ), map_add( list( char ), val ), V1 ), W ) ) ) ) ),
% 1.41/2.19 hAPP( fun( product_prod( product_prod( exp( list( char ) ), product_prod
% 1.41/2.19 ( fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.19 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.19 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.19 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.19 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.19 ) ) ), bool ), fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.19 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.19 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.19 list( char ), option( val ) ) ) ) ), bool ), transitive_rtrancl(
% 1.41/2.19 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.19 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.19 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.19 ( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.19 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.19 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.19 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.19 , fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.19 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.19 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.19 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.19 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.19 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.19 ), bool ), red, V0 ) ) ) ) }.
% 1.41/2.19 { hAPP( fun( X, option( Y ) ), fun( X, option( Y ) ), hAPP( fun( X, option
% 1.41/2.19 ( Y ) ), fun( fun( X, option( Y ) ), fun( X, option( Y ) ) ), map_add( X
% 1.41/2.19 , Y ), Z ), hAPP( fun( X, option( Y ) ), fun( X, option( Y ) ), hAPP( fun
% 1.41/2.19 ( X, option( Y ) ), fun( fun( X, option( Y ) ), fun( X, option( Y ) ) ),
% 1.41/2.19 map_add( X, Y ), T ), U ) ) = hAPP( fun( X, option( Y ) ), fun( X, option
% 1.41/2.19 ( Y ) ), hAPP( fun( X, option( Y ) ), fun( fun( X, option( Y ) ), fun( X
% 1.41/2.19 , option( Y ) ) ), map_add( X, Y ), hAPP( fun( X, option( Y ) ), fun( X,
% 1.41/2.19 option( Y ) ), hAPP( fun( X, option( Y ) ), fun( fun( X, option( Y ) ),
% 1.41/2.19 fun( X, option( Y ) ) ), map_add( X, Y ), Z ), T ) ), U ) }.
% 1.41/2.19 { ! hBOOL( hAPP( product_prod( X, Y ), bool, Z, hAPP( Y, product_prod( X, Y
% 1.41/2.19 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), T ), U
% 1.41/2.19 ) ) ), hBOOL( hAPP( Y, bool, hAPP( X, fun( Y, bool ), hAPP( fun(
% 1.41/2.19 product_prod( X, Y ), bool ), fun( X, fun( Y, bool ) ), product_curry( X
% 1.41/2.20 , Y, bool ), Z ), T ), U ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( list( exp( list( char ) )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 fun( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool ), member( product_prod
% 1.41/2.20 ( product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ) ), hAPP( product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), fun( product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 product_Pair( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ) ), hAPP( product_prod( fun( nat, option( product_prod( list
% 1.41/2.20 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.20 ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list(
% 1.41/2.20 char ) ) ), fun( product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), Z ), hAPP( fun( list( char ),
% 1.41/2.20 option( val ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ), hAPP( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( fun( list( char ), option( val ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_Pair( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ), X ), T )
% 1.41/2.20 ) ), hAPP( product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ), product_prod( list( exp( list( char
% 1.41/2.20 ) ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) ), fun
% 1.41/2.20 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( list( exp( list( char ) )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list( char
% 1.41/2.20 ) ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), U ), hAPP( fun( list( char ), option(
% 1.41/2.20 val ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ), hAPP( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( fun( list( char ), option( val ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_Pair( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ), Y ), W ) ) ) ), hAPP( list(
% 1.41/2.20 product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.20 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.20 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 bool ), reds, V0 ) ) ), hBOOL( hAPP( fun( nat, option( product_prod( list
% 1.41/2.20 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.20 ) ) ) ), bool, hAPP( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), bool ), hext, X ), Y ) ) }
% 1.41/2.20 .
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.20 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), Z ), T ) ) ), hAPP( list(
% 1.41/2.20 product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.20 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.20 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), red, U ) ) ), hBOOL( hAPP( fun( product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list
% 1.41/2.20 ( char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ), hAPP( list( char ), fun( list( char ), fun( exp( list( char ) ),
% 1.41/2.20 exp( list( char ) ) ) ), hAPP( exp( list( char ) ), fun( list( char ),
% 1.41/2.20 fun( list( char ), fun( exp( list( char ) ), exp( list( char ) ) ) ) ),
% 1.41/2.20 tryCatch( list( char ) ), X ), W ), V0 ), V1 ) ), Y ) ), hAPP(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list(
% 1.41/2.20 char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char )
% 1.41/2.20 ) ), hAPP( list( char ), fun( list( char ), fun( exp( list( char ) ),
% 1.41/2.20 exp( list( char ) ) ) ), hAPP( exp( list( char ) ), fun( list( char ),
% 1.41/2.20 fun( list( char ), fun( exp( list( char ) ), exp( list( char ) ) ) ) ),
% 1.41/2.20 tryCatch( list( char ) ), Z ), W ), V0 ), V1 ) ), T ) ) ), hAPP( list(
% 1.41/2.20 product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.20 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.20 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), red, U ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.20 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), Z ), T ) ) ), hAPP( list(
% 1.41/2.20 product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.20 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.20 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), red, U ) ) ), hBOOL( hAPP( fun( product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), hAPP( list( char ), exp( list( char
% 1.41/2.20 ) ), hAPP( list( char ), fun( list( char ), exp( list( char ) ) ), hAPP
% 1.41/2.20 ( exp( list( char ) ), fun( list( char ), fun( list( char ), exp( list(
% 1.41/2.20 char ) ) ) ), fAcc( list( char ) ), X ), W ), V0 ) ), Y ) ), hAPP(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( list( char ), exp( list( char )
% 1.41/2.20 ), hAPP( list( char ), fun( list( char ), exp( list( char ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( list( char ), fun( list( char ), exp( list(
% 1.41/2.20 char ) ) ) ), fAcc( list( char ) ), Z ), W ), V0 ) ), T ) ) ), hAPP( list
% 1.41/2.20 ( product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.20 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.20 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), red, U ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.20 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), Z ), T ) ) ), hAPP( list(
% 1.41/2.20 product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.20 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.20 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), red, U ) ) ), hBOOL( hAPP( fun( product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list
% 1.41/2.20 ( char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ), cast( list( char ) ), W ), X ) ), Y ) ), hAPP( product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.20 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list
% 1.41/2.20 ( char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ), cast( list( char ) ), W ), Z ) ), T ) ) ), hAPP( list(
% 1.41/2.20 product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.20 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.20 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), red, U ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( X, bool, hAPP( Y, fun( X, bool ), hAPP( fun( product_prod
% 1.41/2.20 ( Y, X ), bool ), fun( Y, fun( X, bool ) ), product_curry( Y, X, bool ),
% 1.41/2.20 Z ), T ), U ) ), hBOOL( hAPP( product_prod( Y, X ), bool, Z, hAPP( X,
% 1.41/2.20 product_prod( Y, X ), hAPP( Y, fun( X, product_prod( Y, X ) ),
% 1.41/2.20 product_Pair( Y, X ), T ), U ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( X, bool, hAPP( Y, fun( X, bool ), hAPP( fun( product_prod
% 1.41/2.20 ( Y, X ), bool ), fun( Y, fun( X, bool ) ), product_curry( Y, X, bool ),
% 1.41/2.20 Z ), T ), U ) ), hBOOL( hAPP( product_prod( Y, X ), bool, Z, hAPP( X,
% 1.41/2.20 product_prod( Y, X ), hAPP( Y, fun( X, product_prod( Y, X ) ),
% 1.41/2.20 product_Pair( Y, X ), T ), U ) ) ) }.
% 1.41/2.20 { hAPP( X, Y, hAPP( Z, fun( X, Y ), hAPP( fun( product_prod( Z, X ), Y ),
% 1.41/2.20 fun( Z, fun( X, Y ) ), product_curry( Z, X, Y ), T ), U ), W ) = hAPP(
% 1.41/2.20 product_prod( Z, X ), Y, T, hAPP( X, product_prod( Z, X ), hAPP( Z, fun(
% 1.41/2.20 X, product_prod( Z, X ) ), product_Pair( Z, X ), U ), W ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.20 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), Z ), T ) ) ), hAPP( fun(
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), fun( product_prod( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.20 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.20 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.20 ) ) ), bool ), transitive_rtrancl( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.20 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.20 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ), hBOOL( hAPP
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool, hAPP( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), fun( fun( product_prod( product_prod
% 1.41/2.20 ( exp( list( char ) ), product_prod( fun( nat, option( product_prod( list
% 1.41/2.20 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.20 ) ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), bool ), member(
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 hAPP( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.20 ( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), fun(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 product_Pair( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.20 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list(
% 1.41/2.20 char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char )
% 1.41/2.20 ) ), hAPP( list( char ), fun( list( char ), fun( exp( list( char ) ),
% 1.41/2.20 exp( list( char ) ) ) ), hAPP( exp( list( char ) ), fun( list( char ),
% 1.41/2.20 fun( list( char ), fun( exp( list( char ) ), exp( list( char ) ) ) ) ),
% 1.41/2.20 tryCatch( list( char ) ), X ), W ), V0 ), V1 ) ), Y ) ), hAPP(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list(
% 1.41/2.20 char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char )
% 1.41/2.20 ) ), hAPP( list( char ), fun( list( char ), fun( exp( list( char ) ),
% 1.41/2.20 exp( list( char ) ) ) ), hAPP( exp( list( char ) ), fun( list( char ),
% 1.41/2.20 fun( list( char ), fun( exp( list( char ) ), exp( list( char ) ) ) ) ),
% 1.41/2.20 tryCatch( list( char ) ), Z ), W ), V0 ), V1 ) ), T ) ) ), hAPP( fun(
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), fun( product_prod( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.20 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.20 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.20 ) ) ), bool ), transitive_rtrancl( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.20 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.20 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.20 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), Z ), T ) ) ), hAPP( fun(
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), fun( product_prod( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.20 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.20 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.20 ) ) ), bool ), transitive_rtrancl( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.20 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.20 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ), hBOOL( hAPP
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool, hAPP( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), fun( fun( product_prod( product_prod
% 1.41/2.20 ( exp( list( char ) ), product_prod( fun( nat, option( product_prod( list
% 1.41/2.20 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.20 ) ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), bool ), member(
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 hAPP( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.20 ( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), fun(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 product_Pair( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.20 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( list( char ), exp( list( char )
% 1.41/2.20 ), hAPP( list( char ), fun( list( char ), exp( list( char ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( list( char ), fun( list( char ), exp( list(
% 1.41/2.20 char ) ) ) ), fAcc( list( char ) ), X ), W ), V0 ) ), Y ) ), hAPP(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( list( char ), exp( list( char )
% 1.41/2.20 ), hAPP( list( char ), fun( list( char ), exp( list( char ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( list( char ), fun( list( char ), exp( list(
% 1.41/2.20 char ) ) ) ), fAcc( list( char ) ), Z ), W ), V0 ) ), T ) ) ), hAPP( fun
% 1.41/2.20 ( product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.20 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.20 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.20 ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), fun( product_prod( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.20 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.20 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.20 ) ) ), bool ), transitive_rtrancl( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.20 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.20 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.20 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), Z ), T ) ) ), hAPP( fun(
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), fun( product_prod( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.20 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.20 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.20 ) ) ), bool ), transitive_rtrancl( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.20 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.20 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ), hBOOL( hAPP
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool, hAPP( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), fun( fun( product_prod( product_prod
% 1.41/2.20 ( exp( list( char ) ), product_prod( fun( nat, option( product_prod( list
% 1.41/2.20 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.20 ) ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), bool ), member(
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 hAPP( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.20 ( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), fun(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 product_Pair( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.20 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list(
% 1.41/2.20 char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char )
% 1.41/2.20 ) ), cast( list( char ) ), W ), X ) ), Y ) ), hAPP( product_prod( fun(
% 1.41/2.20 nat, option( product_prod( list( char ), fun( product_prod( list( char )
% 1.41/2.20 , list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val )
% 1.41/2.20 ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list
% 1.41/2.20 ( char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ), cast( list( char ) ), W ), Z ) ), T ) ) ), hAPP( fun(
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), fun( product_prod( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.20 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.20 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.20 ) ) ), bool ), transitive_rtrancl( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.20 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.20 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ) }.
% 1.41/2.20 { hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP( product_prod
% 1.41/2.20 ( X, X ), fun( fun( product_prod( X, X ), bool ), bool ), member(
% 1.41/2.20 product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X, fun( X,
% 1.41/2.20 product_prod( X, X ) ), product_Pair( X, X ), Y ), Y ) ), hAPP( fun(
% 1.41/2.20 product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), Z ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), Y ), Z ) ), hBOOL( hAPP( fun(
% 1.41/2.20 product_prod( X, X ), bool ), bool, hAPP( product_prod( X, X ), fun( fun
% 1.41/2.20 ( product_prod( X, X ), bool ), bool ), member( product_prod( X, X ) ), Y
% 1.41/2.20 ), hAPP( fun( product_prod( X, X ), bool ), fun( product_prod( X, X ),
% 1.41/2.20 bool ), transitive_rtrancl( X ), Z ) ) ) }.
% 1.41/2.20 { ! hAPP( list( char ), exp( X ), hAPP( list( char ), fun( list( char ),
% 1.41/2.20 exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( char ), exp( X
% 1.41/2.20 ) ) ), fAcc( X ), Y ), Z ), T ) = hAPP( exp( X ), exp( X ), hAPP( X, fun
% 1.41/2.20 ( exp( X ), exp( X ) ), hAPP( list( char ), fun( X, fun( exp( X ), exp( X
% 1.41/2.20 ) ) ), hAPP( exp( X ), fun( list( char ), fun( X, fun( exp( X ), exp( X
% 1.41/2.20 ) ) ) ), tryCatch( X ), U ), W ), V0 ), V1 ) }.
% 1.41/2.20 { hAPP( fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool
% 1.41/2.20 ), transitive_rtrancl( X ), hAPP( fun( product_prod( X, X ), bool ), fun
% 1.41/2.20 ( product_prod( X, X ), bool ), transitive_rtrancl( X ), Y ) ) = hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), Y ) }.
% 1.41/2.20 { ! hAPP( exp( X ), exp( X ), hAPP( list( char ), fun( exp( X ), exp( X ) )
% 1.41/2.20 , cast( X ), Y ), Z ) = hAPP( exp( X ), exp( X ), hAPP( list( char ), fun
% 1.41/2.20 ( exp( X ), exp( X ) ), cast( X ), T ), U ), Y = T }.
% 1.41/2.20 { ! hAPP( exp( X ), exp( X ), hAPP( list( char ), fun( exp( X ), exp( X ) )
% 1.41/2.20 , cast( X ), Y ), Z ) = hAPP( exp( X ), exp( X ), hAPP( list( char ), fun
% 1.41/2.20 ( exp( X ), exp( X ) ), cast( X ), T ), U ), Z = U }.
% 1.41/2.20 { ! Y = T, ! Z = U, hAPP( exp( X ), exp( X ), hAPP( list( char ), fun( exp
% 1.41/2.20 ( X ), exp( X ) ), cast( X ), Y ), Z ) = hAPP( exp( X ), exp( X ), hAPP(
% 1.41/2.20 list( char ), fun( exp( X ), exp( X ) ), cast( X ), T ), U ) }.
% 1.41/2.20 { ! hAPP( list( char ), exp( X ), hAPP( list( char ), fun( list( char ),
% 1.41/2.20 exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( char ), exp( X
% 1.41/2.20 ) ) ), fAcc( X ), Y ), Z ), T ) = hAPP( list( char ), exp( X ), hAPP(
% 1.41/2.20 list( char ), fun( list( char ), exp( X ) ), hAPP( exp( X ), fun( list(
% 1.41/2.20 char ), fun( list( char ), exp( X ) ) ), fAcc( X ), U ), W ), V0 ), Y = U
% 1.41/2.20 }.
% 1.41/2.20 { ! hAPP( list( char ), exp( X ), hAPP( list( char ), fun( list( char ),
% 1.41/2.20 exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( char ), exp( X
% 1.41/2.20 ) ) ), fAcc( X ), Y ), Z ), T ) = hAPP( list( char ), exp( X ), hAPP(
% 1.41/2.20 list( char ), fun( list( char ), exp( X ) ), hAPP( exp( X ), fun( list(
% 1.41/2.20 char ), fun( list( char ), exp( X ) ) ), fAcc( X ), U ), W ), V0 ),
% 1.41/2.20 alpha1( Z, T, W, V0 ) }.
% 1.41/2.20 { ! Y = U, ! alpha1( Z, T, W, V0 ), hAPP( list( char ), exp( X ), hAPP(
% 1.41/2.20 list( char ), fun( list( char ), exp( X ) ), hAPP( exp( X ), fun( list(
% 1.41/2.20 char ), fun( list( char ), exp( X ) ) ), fAcc( X ), Y ), Z ), T ) = hAPP
% 1.41/2.20 ( list( char ), exp( X ), hAPP( list( char ), fun( list( char ), exp( X )
% 1.41/2.20 ), hAPP( exp( X ), fun( list( char ), fun( list( char ), exp( X ) ) ),
% 1.41/2.20 fAcc( X ), U ), W ), V0 ) }.
% 1.41/2.20 { ! alpha1( X, Y, Z, T ), X = Z }.
% 1.41/2.20 { ! alpha1( X, Y, Z, T ), Y = T }.
% 1.41/2.20 { ! X = Z, ! Y = T, alpha1( X, Y, Z, T ) }.
% 1.41/2.20 { ! hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X ), exp( X ) ), hAPP(
% 1.41/2.20 list( char ), fun( X, fun( exp( X ), exp( X ) ) ), hAPP( exp( X ), fun(
% 1.41/2.20 list( char ), fun( X, fun( exp( X ), exp( X ) ) ) ), tryCatch( X ), Y ),
% 1.41/2.20 Z ), T ), U ) = hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X ), exp( X
% 1.41/2.20 ) ), hAPP( list( char ), fun( X, fun( exp( X ), exp( X ) ) ), hAPP( exp
% 1.41/2.20 ( X ), fun( list( char ), fun( X, fun( exp( X ), exp( X ) ) ) ), tryCatch
% 1.41/2.20 ( X ), W ), V0 ), V1 ), V2 ), Y = W }.
% 1.41/2.20 { ! hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X ), exp( X ) ), hAPP(
% 1.41/2.20 list( char ), fun( X, fun( exp( X ), exp( X ) ) ), hAPP( exp( X ), fun(
% 1.41/2.20 list( char ), fun( X, fun( exp( X ), exp( X ) ) ) ), tryCatch( X ), Y ),
% 1.41/2.20 Z ), T ), U ) = hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X ), exp( X
% 1.41/2.20 ) ), hAPP( list( char ), fun( X, fun( exp( X ), exp( X ) ) ), hAPP( exp
% 1.41/2.20 ( X ), fun( list( char ), fun( X, fun( exp( X ), exp( X ) ) ) ), tryCatch
% 1.41/2.20 ( X ), W ), V0 ), V1 ), V2 ), alpha4( X, Z, T, U, V0, V1, V2 ) }.
% 1.41/2.20 { ! Y = W, ! alpha4( X, Z, T, U, V0, V1, V2 ), hAPP( exp( X ), exp( X ),
% 1.41/2.20 hAPP( X, fun( exp( X ), exp( X ) ), hAPP( list( char ), fun( X, fun( exp
% 1.41/2.20 ( X ), exp( X ) ) ), hAPP( exp( X ), fun( list( char ), fun( X, fun( exp
% 1.41/2.20 ( X ), exp( X ) ) ) ), tryCatch( X ), Y ), Z ), T ), U ) = hAPP( exp( X )
% 1.41/2.20 , exp( X ), hAPP( X, fun( exp( X ), exp( X ) ), hAPP( list( char ), fun(
% 1.41/2.20 X, fun( exp( X ), exp( X ) ) ), hAPP( exp( X ), fun( list( char ), fun( X
% 1.41/2.20 , fun( exp( X ), exp( X ) ) ) ), tryCatch( X ), W ), V0 ), V1 ), V2 ) }.
% 1.41/2.20 { ! alpha4( X, Y, Z, T, U, W, V0 ), Y = U }.
% 1.41/2.20 { ! alpha4( X, Y, Z, T, U, W, V0 ), alpha2( X, Z, T, W, V0 ) }.
% 1.41/2.20 { ! Y = U, ! alpha2( X, Z, T, W, V0 ), alpha4( X, Y, Z, T, U, W, V0 ) }.
% 1.41/2.20 { ! alpha2( X, Y, Z, T, U ), ti( X, Y ) = ti( X, T ) }.
% 1.41/2.20 { ! alpha2( X, Y, Z, T, U ), Z = U }.
% 1.41/2.20 { ! ti( X, Y ) = ti( X, T ), ! Z = U, alpha2( X, Y, Z, T, U ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), ! hBOOL( hAPP( fun( product_prod( X, X
% 1.41/2.20 ), bool ), bool, hAPP( product_prod( X, X ), fun( fun( product_prod( X,
% 1.41/2.20 X ), bool ), bool ), member( product_prod( X, X ) ), hAPP( X,
% 1.41/2.20 product_prod( X, X ), hAPP( X, fun( X, product_prod( X, X ) ),
% 1.41/2.20 product_Pair( X, X ), Z ), U ) ), hAPP( fun( product_prod( X, X ), bool )
% 1.41/2.20 , fun( product_prod( X, X ), bool ), transitive_rtrancl( X ), T ) ) ),
% 1.41/2.20 hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP( product_prod
% 1.41/2.20 ( X, X ), fun( fun( product_prod( X, X ), bool ), bool ), member(
% 1.41/2.20 product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X, fun( X,
% 1.41/2.20 product_prod( X, X ) ), product_Pair( X, X ), Y ), U ) ), hAPP( fun(
% 1.41/2.20 product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), ! hBOOL( hAPP( fun( product_prod( X, X
% 1.41/2.20 ), bool ), bool, hAPP( product_prod( X, X ), fun( fun( product_prod( X,
% 1.41/2.20 X ), bool ), bool ), member( product_prod( X, X ) ), hAPP( X,
% 1.41/2.20 product_prod( X, X ), hAPP( X, fun( X, product_prod( X, X ) ),
% 1.41/2.20 product_Pair( X, X ), Z ), U ) ), T ) ), hBOOL( hAPP( fun( product_prod(
% 1.41/2.20 X, X ), bool ), bool, hAPP( product_prod( X, X ), fun( fun( product_prod
% 1.41/2.20 ( X, X ), bool ), bool ), member( product_prod( X, X ) ), hAPP( X,
% 1.41/2.20 product_prod( X, X ), hAPP( X, fun( X, product_prod( X, X ) ),
% 1.41/2.20 product_Pair( X, X ), Y ), U ) ), hAPP( fun( product_prod( X, X ), bool )
% 1.41/2.20 , fun( product_prod( X, X ), bool ), transitive_rtrancl( X ), T ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), T ) ),
% 1.41/2.20 ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Z ), U ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), hBOOL( hAPP( fun( product_prod( X, X )
% 1.41/2.20 , bool ), bool, hAPP( product_prod( X, X ), fun( fun( product_prod( X, X
% 1.41/2.20 ), bool ), bool ), member( product_prod( X, X ) ), hAPP( X, product_prod
% 1.41/2.20 ( X, X ), hAPP( X, fun( X, product_prod( X, X ) ), product_Pair( X, X ),
% 1.41/2.20 Y ), U ) ), hAPP( fun( product_prod( X, X ), bool ), fun( product_prod( X
% 1.41/2.20 , X ), bool ), transitive_rtrancl( X ), T ) ) ) }.
% 1.41/2.20 { ! hAPP( list( char ), exp( X ), hAPP( list( char ), fun( list( char ),
% 1.41/2.20 exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( char ), exp( X
% 1.41/2.20 ) ) ), fAcc( X ), Y ), Z ), T ) = hAPP( exp( X ), exp( X ), hAPP( list(
% 1.41/2.20 char ), fun( exp( X ), exp( X ) ), cast( X ), U ), W ) }.
% 1.41/2.20 { ! hAPP( exp( X ), exp( X ), hAPP( list( char ), fun( exp( X ), exp( X ) )
% 1.41/2.20 , cast( X ), Y ), Z ) = hAPP( list( char ), exp( X ), hAPP( list( char )
% 1.41/2.20 , fun( list( char ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun(
% 1.41/2.20 list( char ), exp( X ) ) ), fAcc( X ), T ), U ), W ) }.
% 1.41/2.20 { ! hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X ), exp( X ) ), hAPP(
% 1.41/2.20 list( char ), fun( X, fun( exp( X ), exp( X ) ) ), hAPP( exp( X ), fun(
% 1.41/2.20 list( char ), fun( X, fun( exp( X ), exp( X ) ) ) ), tryCatch( X ), Y ),
% 1.41/2.20 Z ), T ), U ) = hAPP( exp( X ), exp( X ), hAPP( list( char ), fun( exp( X
% 1.41/2.20 ), exp( X ) ), cast( X ), W ), V0 ) }.
% 1.41/2.20 { ! hAPP( exp( X ), exp( X ), hAPP( list( char ), fun( exp( X ), exp( X ) )
% 1.41/2.20 , cast( X ), Y ), Z ) = hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X )
% 1.41/2.20 , exp( X ) ), hAPP( list( char ), fun( X, fun( exp( X ), exp( X ) ) ),
% 1.41/2.20 hAPP( exp( X ), fun( list( char ), fun( X, fun( exp( X ), exp( X ) ) ) )
% 1.41/2.20 , tryCatch( X ), T ), U ), W ), V0 ) }.
% 1.41/2.20 { ! hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X ), exp( X ) ), hAPP(
% 1.41/2.20 list( char ), fun( X, fun( exp( X ), exp( X ) ) ), hAPP( exp( X ), fun(
% 1.41/2.20 list( char ), fun( X, fun( exp( X ), exp( X ) ) ) ), tryCatch( X ), Y ),
% 1.41/2.20 Z ), T ), U ) = hAPP( list( char ), exp( X ), hAPP( list( char ), fun(
% 1.41/2.20 list( char ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list(
% 1.41/2.20 char ), exp( X ) ) ), fAcc( X ), W ), V0 ), V1 ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( X, Y ), product_prod( X,
% 1.41/2.20 Y ) ), bool ), bool, hAPP( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), fun( fun( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), bool ), bool ), member( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), hAPP( product_prod( X, Y
% 1.41/2.20 ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ), hAPP(
% 1.41/2.20 product_prod( X, Y ), fun( product_prod( X, Y ), product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), product_Pair(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y, product_prod( X, Y
% 1.41/2.20 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), Z ), T
% 1.41/2.20 ) ), hAPP( Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y
% 1.41/2.20 ) ), product_Pair( X, Y ), U ), W ) ) ), hAPP( fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), transitive_rtrancl
% 1.41/2.20 ( product_prod( X, Y ) ), V0 ) ) ), ! hBOOL( hAPP( Y, bool, hAPP( X, fun
% 1.41/2.20 ( Y, bool ), V1, Z ), T ) ), hBOOL( hAPP( fun( product_prod( product_prod
% 1.41/2.20 ( X, Y ), product_prod( X, Y ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), fun( fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool ), member(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ) ), hAPP(
% 1.41/2.20 product_prod( X, Y ), product_prod( product_prod( X, Y ), product_prod( X
% 1.41/2.20 , Y ) ), hAPP( product_prod( X, Y ), fun( product_prod( X, Y ),
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ) ),
% 1.41/2.20 product_Pair( product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y,
% 1.41/2.20 product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y ) ),
% 1.41/2.20 product_Pair( X, Y ), Z ), T ) ), hAPP( Y, product_prod( X, Y ), hAPP( X
% 1.41/2.20 , fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), skol13( X, Y, Z,
% 1.41/2.20 T, V0, V1 ) ), skol34( X, Y, Z, T, V0, V1 ) ) ) ), hAPP( fun(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), bool ), fun(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), bool ),
% 1.41/2.20 transitive_rtrancl( product_prod( X, Y ) ), V0 ) ) ), hBOOL( hAPP( Y,
% 1.41/2.20 bool, hAPP( X, fun( Y, bool ), V1, U ), W ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( X, Y ), product_prod( X,
% 1.41/2.20 Y ) ), bool ), bool, hAPP( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), fun( fun( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), bool ), bool ), member( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), hAPP( product_prod( X, Y
% 1.41/2.20 ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ), hAPP(
% 1.41/2.20 product_prod( X, Y ), fun( product_prod( X, Y ), product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), product_Pair(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y, product_prod( X, Y
% 1.41/2.20 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), Z ), T
% 1.41/2.20 ) ), hAPP( Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y
% 1.41/2.20 ) ), product_Pair( X, Y ), U ), W ) ) ), hAPP( fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), transitive_rtrancl
% 1.41/2.20 ( product_prod( X, Y ) ), V0 ) ) ), ! hBOOL( hAPP( Y, bool, hAPP( X, fun
% 1.41/2.20 ( Y, bool ), V1, Z ), T ) ), alpha5( X, Y, V0, V1, skol13( X, Y, Z, T, V0
% 1.41/2.20 , V1 ), skol34( X, Y, Z, T, V0, V1 ) ), hBOOL( hAPP( Y, bool, hAPP( X,
% 1.41/2.20 fun( Y, bool ), V1, U ), W ) ) }.
% 1.41/2.20 { ! alpha5( X, Y, Z, T, U, W ), hBOOL( hAPP( Y, bool, hAPP( X, fun( Y, bool
% 1.41/2.20 ), T, U ), W ) ) }.
% 1.41/2.20 { ! alpha5( X, Y, Z, T, U, W ), hBOOL( hAPP( fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), fun( fun(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool
% 1.41/2.20 ), member( product_prod( product_prod( X, Y ), product_prod( X, Y ) ) )
% 1.41/2.20 , hAPP( product_prod( X, Y ), product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), hAPP( product_prod( X, Y ), fun( product_prod( X
% 1.41/2.20 , Y ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ) ),
% 1.41/2.20 product_Pair( product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y,
% 1.41/2.20 product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y ) ),
% 1.41/2.20 product_Pair( X, Y ), U ), W ) ), hAPP( Y, product_prod( X, Y ), hAPP( X
% 1.41/2.20 , fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), skol14( X, Y, Z,
% 1.41/2.20 T, U, W ) ), skol35( X, Y, Z, T, U, W ) ) ) ), Z ) ) }.
% 1.41/2.20 { ! alpha5( X, Y, Z, T, U, W ), ! hBOOL( hAPP( Y, bool, hAPP( X, fun( Y,
% 1.41/2.20 bool ), T, skol14( X, Y, Z, T, U, W ) ), skol35( X, Y, Z, T, U, W ) ) ) }
% 1.41/2.20 .
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( X, Y ), product_prod( X,
% 1.41/2.20 Y ) ), bool ), bool, hAPP( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), fun( fun( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), bool ), bool ), member( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), hAPP( product_prod( X, Y
% 1.41/2.20 ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ), hAPP(
% 1.41/2.20 product_prod( X, Y ), fun( product_prod( X, Y ), product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), product_Pair(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y, product_prod( X, Y
% 1.41/2.20 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), U ), W
% 1.41/2.20 ) ), hAPP( Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y
% 1.41/2.20 ) ), product_Pair( X, Y ), V0 ), V1 ) ) ), Z ) ), ! hBOOL( hAPP( Y, bool
% 1.41/2.20 , hAPP( X, fun( Y, bool ), T, U ), W ) ), hBOOL( hAPP( Y, bool, hAPP( X,
% 1.41/2.20 fun( Y, bool ), T, V0 ), V1 ) ), alpha5( X, Y, Z, T, U, W ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( X, Y ), product_prod( X,
% 1.41/2.20 Y ) ), bool ), bool, hAPP( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), fun( fun( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), bool ), bool ), member( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), hAPP( product_prod( X, Y
% 1.41/2.20 ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ), hAPP(
% 1.41/2.20 product_prod( X, Y ), fun( product_prod( X, Y ), product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), product_Pair(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y, product_prod( X, Y
% 1.41/2.20 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), Z ), T
% 1.41/2.20 ) ), hAPP( Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y
% 1.41/2.20 ) ), product_Pair( X, Y ), U ), W ) ) ), hAPP( fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), transitive_rtrancl
% 1.41/2.20 ( product_prod( X, Y ) ), V0 ) ) ), ! hBOOL( hAPP( Y, bool, hAPP( X, fun
% 1.41/2.20 ( Y, bool ), V1, U ), W ) ), alpha6( X, Y, U, W, V0, skol15( X, Y, U, W,
% 1.41/2.20 V0, V1 ), skol36( X, Y, U, W, V0, V1 ), skol49( X, Y, U, W, V0, V1 ),
% 1.41/2.20 skol56( X, Y, U, W, V0, V1 ) ), hBOOL( hAPP( Y, bool, hAPP( X, fun( Y,
% 1.41/2.20 bool ), V1, Z ), T ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( X, Y ), product_prod( X,
% 1.41/2.20 Y ) ), bool ), bool, hAPP( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), fun( fun( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), bool ), bool ), member( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), hAPP( product_prod( X, Y
% 1.41/2.20 ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ), hAPP(
% 1.41/2.20 product_prod( X, Y ), fun( product_prod( X, Y ), product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), product_Pair(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y, product_prod( X, Y
% 1.41/2.20 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), Z ), T
% 1.41/2.20 ) ), hAPP( Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y
% 1.41/2.20 ) ), product_Pair( X, Y ), U ), W ) ) ), hAPP( fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), transitive_rtrancl
% 1.41/2.20 ( product_prod( X, Y ) ), V0 ) ) ), ! hBOOL( hAPP( Y, bool, hAPP( X, fun
% 1.41/2.20 ( Y, bool ), V1, U ), W ) ), hBOOL( hAPP( Y, bool, hAPP( X, fun( Y, bool
% 1.41/2.20 ), V1, skol49( X, Y, U, W, V0, V1 ) ), skol56( X, Y, U, W, V0, V1 ) ) )
% 1.41/2.20 , hBOOL( hAPP( Y, bool, hAPP( X, fun( Y, bool ), V1, Z ), T ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( X, Y ), product_prod( X,
% 1.41/2.20 Y ) ), bool ), bool, hAPP( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), fun( fun( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), bool ), bool ), member( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), hAPP( product_prod( X, Y
% 1.41/2.20 ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ), hAPP(
% 1.41/2.20 product_prod( X, Y ), fun( product_prod( X, Y ), product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), product_Pair(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y, product_prod( X, Y
% 1.41/2.20 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), Z ), T
% 1.41/2.20 ) ), hAPP( Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y
% 1.41/2.20 ) ), product_Pair( X, Y ), U ), W ) ) ), hAPP( fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), transitive_rtrancl
% 1.41/2.20 ( product_prod( X, Y ) ), V0 ) ) ), ! hBOOL( hAPP( Y, bool, hAPP( X, fun
% 1.41/2.20 ( Y, bool ), V1, U ), W ) ), ! hBOOL( hAPP( Y, bool, hAPP( X, fun( Y,
% 1.41/2.20 bool ), V1, skol15( X, Y, U, W, V0, V1 ) ), skol36( X, Y, U, W, V0, V1 )
% 1.41/2.20 ) ), hBOOL( hAPP( Y, bool, hAPP( X, fun( Y, bool ), V1, Z ), T ) ) }.
% 1.41/2.20 { ! alpha6( X, Y, Z, T, U, W, V0, V1, V2 ), hBOOL( hAPP( fun( product_prod
% 1.41/2.20 ( product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), fun( fun(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool
% 1.41/2.20 ), member( product_prod( product_prod( X, Y ), product_prod( X, Y ) ) )
% 1.41/2.20 , hAPP( product_prod( X, Y ), product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), hAPP( product_prod( X, Y ), fun( product_prod( X
% 1.41/2.20 , Y ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ) ),
% 1.41/2.20 product_Pair( product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y,
% 1.41/2.20 product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y ) ),
% 1.41/2.20 product_Pair( X, Y ), W ), V0 ) ), hAPP( Y, product_prod( X, Y ), hAPP( X
% 1.41/2.20 , fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), V1 ), V2 ) ) ), U
% 1.41/2.20 ) ) }.
% 1.41/2.20 { ! alpha6( X, Y, Z, T, U, W, V0, V1, V2 ), hBOOL( hAPP( fun( product_prod
% 1.41/2.20 ( product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), fun( fun(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool
% 1.41/2.20 ), member( product_prod( product_prod( X, Y ), product_prod( X, Y ) ) )
% 1.41/2.20 , hAPP( product_prod( X, Y ), product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), hAPP( product_prod( X, Y ), fun( product_prod( X
% 1.41/2.20 , Y ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ) ),
% 1.41/2.20 product_Pair( product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y,
% 1.41/2.20 product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y ) ),
% 1.41/2.20 product_Pair( X, Y ), V1 ), V2 ) ), hAPP( Y, product_prod( X, Y ), hAPP(
% 1.41/2.20 X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), Z ), T ) ) ),
% 1.41/2.20 hAPP( fun( product_prod( product_prod( X, Y ), product_prod( X, Y ) ),
% 1.41/2.20 bool ), fun( product_prod( product_prod( X, Y ), product_prod( X, Y ) ),
% 1.41/2.20 bool ), transitive_rtrancl( product_prod( X, Y ) ), U ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( X, Y ), product_prod( X,
% 1.41/2.20 Y ) ), bool ), bool, hAPP( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), fun( fun( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), bool ), bool ), member( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), hAPP( product_prod( X, Y
% 1.41/2.20 ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ), hAPP(
% 1.41/2.20 product_prod( X, Y ), fun( product_prod( X, Y ), product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), product_Pair(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y, product_prod( X, Y
% 1.41/2.20 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), W ),
% 1.41/2.20 V0 ) ), hAPP( Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X,
% 1.41/2.20 Y ) ), product_Pair( X, Y ), V1 ), V2 ) ) ), U ) ), ! hBOOL( hAPP( fun(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool
% 1.41/2.20 , hAPP( product_prod( product_prod( X, Y ), product_prod( X, Y ) ), fun(
% 1.41/2.20 fun( product_prod( product_prod( X, Y ), product_prod( X, Y ) ), bool ),
% 1.41/2.20 bool ), member( product_prod( product_prod( X, Y ), product_prod( X, Y )
% 1.41/2.20 ) ), hAPP( product_prod( X, Y ), product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), hAPP( product_prod( X, Y ), fun( product_prod( X
% 1.41/2.20 , Y ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ) ),
% 1.41/2.20 product_Pair( product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y,
% 1.41/2.20 product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y ) ),
% 1.41/2.20 product_Pair( X, Y ), V1 ), V2 ) ), hAPP( Y, product_prod( X, Y ), hAPP(
% 1.41/2.20 X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), Z ), T ) ) ),
% 1.41/2.20 hAPP( fun( product_prod( product_prod( X, Y ), product_prod( X, Y ) ),
% 1.41/2.20 bool ), fun( product_prod( product_prod( X, Y ), product_prod( X, Y ) ),
% 1.41/2.20 bool ), transitive_rtrancl( product_prod( X, Y ) ), U ) ) ), alpha6( X, Y
% 1.41/2.20 , Z, T, U, W, V0, V1, V2 ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( X, Y ), product_prod( X,
% 1.41/2.20 Y ) ), bool ), bool, hAPP( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), fun( fun( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), bool ), bool ), member( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), hAPP( product_prod( X, Y
% 1.41/2.20 ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ), hAPP(
% 1.41/2.20 product_prod( X, Y ), fun( product_prod( X, Y ), product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), product_Pair(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y, product_prod( X, Y
% 1.41/2.20 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), Z ), T
% 1.41/2.20 ) ), hAPP( Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y
% 1.41/2.20 ) ), product_Pair( X, Y ), U ), W ) ) ), hAPP( fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), transitive_rtrancl
% 1.41/2.20 ( product_prod( X, Y ) ), V0 ) ) ), hAPP( Y, product_prod( X, Y ), hAPP(
% 1.41/2.20 X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), Z ), T ) = hAPP
% 1.41/2.20 ( Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y ) ),
% 1.41/2.20 product_Pair( X, Y ), U ), W ), hBOOL( hAPP( fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), fun( fun(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool
% 1.41/2.20 ), member( product_prod( product_prod( X, Y ), product_prod( X, Y ) ) )
% 1.41/2.20 , hAPP( product_prod( X, Y ), product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), hAPP( product_prod( X, Y ), fun( product_prod( X
% 1.41/2.20 , Y ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ) ),
% 1.41/2.20 product_Pair( product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y,
% 1.41/2.20 product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y ) ),
% 1.41/2.20 product_Pair( X, Y ), Z ), T ) ), hAPP( Y, product_prod( X, Y ), hAPP( X
% 1.41/2.20 , fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), skol16( X, Y, Z,
% 1.41/2.20 T, U, W, V0 ) ), skol37( X, Y, Z, T, U, W, V0 ) ) ) ), V0 ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( X, Y ), product_prod( X,
% 1.41/2.20 Y ) ), bool ), bool, hAPP( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), fun( fun( product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), bool ), bool ), member( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), hAPP( product_prod( X, Y
% 1.41/2.20 ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ), hAPP(
% 1.41/2.20 product_prod( X, Y ), fun( product_prod( X, Y ), product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ) ), product_Pair(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y, product_prod( X, Y
% 1.41/2.20 ), hAPP( X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), Z ), T
% 1.41/2.20 ) ), hAPP( Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y
% 1.41/2.20 ) ), product_Pair( X, Y ), U ), W ) ) ), hAPP( fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), transitive_rtrancl
% 1.41/2.20 ( product_prod( X, Y ) ), V0 ) ) ), hAPP( Y, product_prod( X, Y ), hAPP(
% 1.41/2.20 X, fun( Y, product_prod( X, Y ) ), product_Pair( X, Y ), Z ), T ) = hAPP
% 1.41/2.20 ( Y, product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y ) ),
% 1.41/2.20 product_Pair( X, Y ), U ), W ), hBOOL( hAPP( fun( product_prod(
% 1.41/2.20 product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), fun( fun(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), bool ), bool
% 1.41/2.20 ), member( product_prod( product_prod( X, Y ), product_prod( X, Y ) ) )
% 1.41/2.20 , hAPP( product_prod( X, Y ), product_prod( product_prod( X, Y ),
% 1.41/2.20 product_prod( X, Y ) ), hAPP( product_prod( X, Y ), fun( product_prod( X
% 1.41/2.20 , Y ), product_prod( product_prod( X, Y ), product_prod( X, Y ) ) ),
% 1.41/2.20 product_Pair( product_prod( X, Y ), product_prod( X, Y ) ), hAPP( Y,
% 1.41/2.20 product_prod( X, Y ), hAPP( X, fun( Y, product_prod( X, Y ) ),
% 1.41/2.20 product_Pair( X, Y ), skol16( X, Y, Z, T, U, W, V0 ) ), skol37( X, Y, Z,
% 1.41/2.20 T, U, W, V0 ) ) ), hAPP( Y, product_prod( X, Y ), hAPP( X, fun( Y,
% 1.41/2.20 product_prod( X, Y ) ), product_Pair( X, Y ), U ), W ) ) ), hAPP( fun(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), bool ), fun(
% 1.41/2.20 product_prod( product_prod( X, Y ), product_prod( X, Y ) ), bool ),
% 1.41/2.20 transitive_rtrancl( product_prod( X, Y ) ), V0 ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), ti( X, Y ) = ti( X, Z ), hBOOL( hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), bool, hAPP( product_prod( X, X ), fun
% 1.41/2.20 ( fun( product_prod( X, X ), bool ), bool ), member( product_prod( X, X )
% 1.41/2.20 ), hAPP( X, product_prod( X, X ), hAPP( X, fun( X, product_prod( X, X )
% 1.41/2.20 ), product_Pair( X, X ), Y ), skol17( X, Y, U, T ) ) ), hAPP( fun(
% 1.41/2.20 product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), ti( X, Y ) = ti( X, Z ), hBOOL( hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), bool, hAPP( product_prod( X, X ), fun
% 1.41/2.20 ( fun( product_prod( X, X ), bool ), bool ), member( product_prod( X, X )
% 1.41/2.20 ), hAPP( X, product_prod( X, X ), hAPP( X, fun( X, product_prod( X, X )
% 1.41/2.20 ), product_Pair( X, X ), skol17( X, Y, Z, T ) ), Z ) ), T ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), ti( X, Y ) = ti( X, Z ), hBOOL( hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), bool, hAPP( product_prod( X, X ), fun
% 1.41/2.20 ( fun( product_prod( X, X ), bool ), bool ), member( product_prod( X, X )
% 1.41/2.20 ), hAPP( X, product_prod( X, X ), hAPP( X, fun( X, product_prod( X, X )
% 1.41/2.20 ), product_Pair( X, X ), Y ), skol18( X, Y, U, T ) ) ), T ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), ti( X, Y ) = ti( X, Z ), hBOOL( hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), bool, hAPP( product_prod( X, X ), fun
% 1.41/2.20 ( fun( product_prod( X, X ), bool ), bool ), member( product_prod( X, X )
% 1.41/2.20 ), hAPP( X, product_prod( X, X ), hAPP( X, fun( X, product_prod( X, X )
% 1.41/2.20 ), product_Pair( X, X ), skol18( X, Y, Z, T ) ), Z ) ), hAPP( fun(
% 1.41/2.20 product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), ! hBOOL( hAPP( X, bool, U, Y ) ), hBOOL
% 1.41/2.20 ( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP( product_prod( X, X
% 1.41/2.20 ), fun( fun( product_prod( X, X ), bool ), bool ), member( product_prod
% 1.41/2.20 ( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X, fun( X, product_prod
% 1.41/2.20 ( X, X ) ), product_Pair( X, X ), Y ), skol19( X, Y, T, W ) ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), hBOOL( hAPP( X, bool, U, Z ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), ! hBOOL( hAPP( X, bool, U, Y ) ),
% 1.41/2.20 alpha7( X, T, U, skol19( X, Y, T, U ) ), hBOOL( hAPP( X, bool, U, Z ) ) }
% 1.41/2.20 .
% 1.41/2.20 { ! alpha7( X, Y, Z, T ), ! hBOOL( hAPP( X, bool, Z, skol20( X, U, Z, W ) )
% 1.41/2.20 ) }.
% 1.41/2.20 { ! alpha7( X, Y, Z, T ), hBOOL( hAPP( X, bool, Z, T ) ) }.
% 1.41/2.20 { ! alpha7( X, Y, Z, T ), hBOOL( hAPP( fun( product_prod( X, X ), bool ),
% 1.41/2.20 bool, hAPP( product_prod( X, X ), fun( fun( product_prod( X, X ), bool )
% 1.41/2.20 , bool ), member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ),
% 1.41/2.20 hAPP( X, fun( X, product_prod( X, X ) ), product_Pair( X, X ), T ),
% 1.41/2.20 skol20( X, Y, Z, T ) ) ), Y ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), T ), U ) ), Y ) ),
% 1.41/2.20 ! hBOOL( hAPP( X, bool, Z, T ) ), hBOOL( hAPP( X, bool, Z, U ) ), alpha7
% 1.41/2.20 ( X, Y, Z, T ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), ! hBOOL( hAPP( X, bool, U, Z ) ), hBOOL
% 1.41/2.20 ( hAPP( X, bool, U, skol38( X, W, V0, U ) ) ), hBOOL( hAPP( X, bool, U, Y
% 1.41/2.20 ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), ! hBOOL( hAPP( X, bool, U, Z ) ),
% 1.41/2.20 alpha8( X, Z, T, skol21( X, Z, T, U ), skol38( X, Z, T, U ) ), hBOOL(
% 1.41/2.20 hAPP( X, bool, U, Y ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), Y ), Z ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), T ) ) ), ! hBOOL( hAPP( X, bool, U, Z ) ), !
% 1.41/2.20 hBOOL( hAPP( X, bool, U, skol21( X, Z, T, U ) ) ), hBOOL( hAPP( X, bool,
% 1.41/2.20 U, Y ) ) }.
% 1.41/2.20 { ! alpha8( X, Y, Z, T, U ), hBOOL( hAPP( fun( product_prod( X, X ), bool )
% 1.41/2.20 , bool, hAPP( product_prod( X, X ), fun( fun( product_prod( X, X ), bool
% 1.41/2.20 ), bool ), member( product_prod( X, X ) ), hAPP( X, product_prod( X, X )
% 1.41/2.20 , hAPP( X, fun( X, product_prod( X, X ) ), product_Pair( X, X ), T ), U )
% 1.41/2.20 ), Z ) ) }.
% 1.41/2.20 { ! alpha8( X, Y, Z, T, U ), hBOOL( hAPP( fun( product_prod( X, X ), bool )
% 1.41/2.20 , bool, hAPP( product_prod( X, X ), fun( fun( product_prod( X, X ), bool
% 1.41/2.20 ), bool ), member( product_prod( X, X ) ), hAPP( X, product_prod( X, X )
% 1.41/2.20 , hAPP( X, fun( X, product_prod( X, X ) ), product_Pair( X, X ), U ), Y )
% 1.41/2.20 ), hAPP( fun( product_prod( X, X ), bool ), fun( product_prod( X, X ),
% 1.41/2.20 bool ), transitive_rtrancl( X ), Z ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), T ), U ) ), Z ) ),
% 1.41/2.20 ! hBOOL( hAPP( fun( product_prod( X, X ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( X, X ), fun( fun( product_prod( X, X ), bool ), bool ),
% 1.41/2.20 member( product_prod( X, X ) ), hAPP( X, product_prod( X, X ), hAPP( X,
% 1.41/2.20 fun( X, product_prod( X, X ) ), product_Pair( X, X ), U ), Y ) ), hAPP(
% 1.41/2.20 fun( product_prod( X, X ), bool ), fun( product_prod( X, X ), bool ),
% 1.41/2.20 transitive_rtrancl( X ), Z ) ) ), alpha8( X, Y, Z, T, U ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.20 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), Z ), T ) ) ), hAPP( fun(
% 1.41/2.20 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), fun( product_prod( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.20 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.20 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.20 ) ) ), bool ), transitive_rtrancl( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.20 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.20 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ), hBOOL( hAPP
% 1.41/2.20 ( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 fun( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool ), member( product_prod
% 1.41/2.20 ( product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ) ), hAPP( product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), fun( product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 product_Pair( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ) ), hAPP( product_prod( fun( nat, option( product_prod( list
% 1.41/2.20 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.20 ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list(
% 1.41/2.20 char ) ) ), fun( product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) )
% 1.41/2.20 , list( exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( exp
% 1.41/2.20 ( list( char ) ) ), list( exp( list( char ) ) ) ), cons( exp( list( char
% 1.41/2.20 ) ) ), X ), W ) ), Y ) ), hAPP( product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( list( exp( list( char ) ) ), fun( product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 product_Pair( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( list( exp( list( char ) ) ), list( exp( list( char ) ) ), hAPP( exp(
% 1.41/2.20 list( char ) ), fun( list( exp( list( char ) ) ), list( exp( list( char )
% 1.41/2.20 ) ) ), cons( exp( list( char ) ) ), Z ), W ) ), T ) ) ), hAPP( fun(
% 1.41/2.20 product_prod( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ) ), bool ), fun( product_prod( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), transitive_rtrancl(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 hAPP( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.20 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.20 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.20 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.20 , fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), reds, U ) ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.20 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), Z ), T ) ) ), hAPP( list(
% 1.41/2.20 product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.20 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.20 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), red, U ) ) ), hBOOL( hAPP( fun( product_prod( product_prod( list( exp
% 1.41/2.20 ( list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ) ), bool ), bool, hAPP(
% 1.41/2.20 product_prod( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ) ), fun( fun( product_prod( product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), bool ), member(
% 1.41/2.20 product_prod( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ) ) ), hAPP( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( list( exp
% 1.41/2.20 ( list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP( product_prod(
% 1.41/2.20 list( exp( list( char ) ) ), product_prod( fun( nat, option( product_prod
% 1.41/2.20 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), fun( product_prod
% 1.41/2.20 ( list( exp( list( char ) ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ) ) ), product_Pair( product_prod( list( exp( list( char ) )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( list( exp( list( char ) ) ), fun( product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 product_Pair( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( list( exp( list( char ) ) ), list( exp( list( char ) ) ), hAPP( exp(
% 1.41/2.20 list( char ) ), fun( list( exp( list( char ) ) ), list( exp( list( char )
% 1.41/2.20 ) ) ), cons( exp( list( char ) ) ), X ), W ) ), Y ) ), hAPP(
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( list( exp( list( char ) )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) ), fun
% 1.41/2.20 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ), product_prod( list( exp( list( char ) )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list( char
% 1.41/2.20 ) ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) ),
% 1.41/2.20 list( exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( exp(
% 1.41/2.20 list( char ) ) ), list( exp( list( char ) ) ) ), cons( exp( list( char )
% 1.41/2.20 ) ), Z ), W ) ), T ) ) ), hAPP( list( product_prod( list( char ),
% 1.41/2.20 product_prod( list( char ), product_prod( list( product_prod( list( char
% 1.41/2.20 ), ty ) ), list( product_prod( list( char ), product_prod( list( ty ),
% 1.41/2.20 product_prod( ty, product_prod( list( list( char ) ), exp( list( char ) )
% 1.41/2.20 ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), reds, U ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.20 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.20 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.20 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.20 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), val_1( list( char ), Z ) ), T ) ) )
% 1.41/2.20 , hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.20 ), transitive_rtrancl( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ) ), hAPP( list( product_prod( list( char ), product_prod(
% 1.41/2.20 list( char ), product_prod( list( product_prod( list( char ), ty ) ),
% 1.41/2.20 list( product_prod( list( char ), product_prod( list( ty ), product_prod
% 1.41/2.20 ( ty, product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) )
% 1.41/2.20 ) ) ), fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ), ! hBOOL(
% 1.41/2.20 hAPP( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 fun( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool ), member( product_prod
% 1.41/2.20 ( product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ) ), hAPP( product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), fun( product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 product_Pair( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ) ), hAPP( product_prod( fun( nat, option( product_prod( list
% 1.41/2.20 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.20 ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list(
% 1.41/2.20 char ) ) ), fun( product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), W ), T ) ), hAPP( product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ), product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), hAPP( list( exp( list( char ) ) ), fun( product_prod( fun( nat
% 1.41/2.20 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.20 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.20 ), product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), product_Pair( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , V0 ), V1 ) ) ), hAPP( fun( product_prod( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 bool ), transitive_rtrancl( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.20 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.20 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), reds, U ) ) ) ), hBOOL
% 1.41/2.20 ( hAPP( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 fun( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool ), member( product_prod
% 1.41/2.20 ( product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ) ), hAPP( product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), fun( product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 product_Pair( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ) ), hAPP( product_prod( fun( nat, option( product_prod( list
% 1.41/2.20 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.20 ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list(
% 1.41/2.20 char ) ) ), fun( product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) )
% 1.41/2.20 , list( exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( exp
% 1.41/2.20 ( list( char ) ) ), list( exp( list( char ) ) ) ), cons( exp( list( char
% 1.41/2.20 ) ) ), X ), W ) ), Y ) ), hAPP( product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( list( exp( list( char ) ) ), fun( product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 product_Pair( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( list( exp( list( char ) ) ), list( exp( list( char ) ) ), hAPP( exp(
% 1.41/2.20 list( char ) ), fun( list( exp( list( char ) ) ), list( exp( list( char )
% 1.41/2.20 ) ) ), cons( exp( list( char ) ) ), val_1( list( char ), Z ) ), V0 ) ),
% 1.41/2.20 V1 ) ) ), hAPP( fun( product_prod( product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 bool ), transitive_rtrancl( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.20 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.20 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), reds, U ) ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( list( exp( list( char ) )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 fun( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool ), member( product_prod
% 1.41/2.20 ( product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ) ), hAPP( product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), fun( product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 product_Pair( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ) ), hAPP( product_prod( fun( nat, option( product_prod( list
% 1.41/2.20 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.20 ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list(
% 1.41/2.20 char ) ) ), fun( product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ), product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), hAPP( list( exp( list( char ) ) ), fun( product_prod( fun( nat
% 1.41/2.20 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.20 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.20 ), product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), product_Pair( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , Z ), T ) ) ), hAPP( fun( product_prod( product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 bool ), transitive_rtrancl( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.20 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.20 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), reds, U ) ) ) ), hBOOL
% 1.41/2.20 ( hAPP( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 fun( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool ), member( product_prod
% 1.41/2.20 ( product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 , product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ) ), hAPP( product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), fun( product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.20 product_Pair( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.20 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.20 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.20 ( val ) ) ) ) ), hAPP( product_prod( fun( nat, option( product_prod( list
% 1.41/2.20 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.20 ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( list( exp(
% 1.41/2.20 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.20 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.20 ) ) ), fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list(
% 1.41/2.20 char ) ) ), fun( product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) )
% 1.41/2.20 , list( exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( exp
% 1.41/2.20 ( list( char ) ) ), list( exp( list( char ) ) ) ), cons( exp( list( char
% 1.41/2.20 ) ) ), val_1( list( char ), W ) ), X ) ), Y ) ), hAPP( product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ), product_prod( list( exp( list( char ) ) ), product_prod( fun( nat
% 1.41/2.20 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.20 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.20 ) ), hAPP( list( exp( list( char ) ) ), fun( product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 product_Pair( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.20 ( list( exp( list( char ) ) ), list( exp( list( char ) ) ), hAPP( exp(
% 1.41/2.20 list( char ) ), fun( list( exp( list( char ) ) ), list( exp( list( char )
% 1.41/2.20 ) ) ), cons( exp( list( char ) ) ), val_1( list( char ), W ) ), Z ) ), T
% 1.41/2.20 ) ) ), hAPP( fun( product_prod( product_prod( list( exp( list( char ) )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.20 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.20 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.20 bool ), transitive_rtrancl( product_prod( list( exp( list( char ) ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.20 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.20 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.20 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.20 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( list( exp( list
% 1.41/2.20 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.20 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.20 , fun( list( char ), option( val ) ) ) ), product_prod( list( exp( list(
% 1.41/2.20 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ) ), bool ), reds, U ) ) ) ) }.
% 1.41/2.20 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.20 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.20 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.20 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.20 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.20 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.20 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.20 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.20 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.20 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.20 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.20 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.20 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.20 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.20 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.20 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.20 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.20 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.20 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.20 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.20 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.20 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.20 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.20 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.20 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.21 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.21 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), val_1( list( char ), Z ) ), T ) ) )
% 1.41/2.21 , hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.21 ), transitive_rtrancl( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ) ), hAPP( list( product_prod( list( char ), product_prod(
% 1.41/2.21 list( char ), product_prod( list( product_prod( list( char ), ty ) ),
% 1.41/2.21 list( product_prod( list( char ), product_prod( list( ty ), product_prod
% 1.41/2.21 ( ty, product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) )
% 1.41/2.21 ) ) ), fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ), hBOOL( hAPP
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool, hAPP( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), fun( fun( product_prod( product_prod
% 1.41/2.21 ( exp( list( char ) ), product_prod( fun( nat, option( product_prod( list
% 1.41/2.21 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.21 ) ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), bool ), bool ), member(
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 hAPP( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), fun(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 product_Pair( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list(
% 1.41/2.21 char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char )
% 1.41/2.21 ) ), hAPP( list( char ), fun( list( char ), fun( exp( list( char ) ),
% 1.41/2.21 exp( list( char ) ) ) ), hAPP( exp( list( char ) ), fun( list( char ),
% 1.41/2.21 fun( list( char ), fun( exp( list( char ) ), exp( list( char ) ) ) ) ),
% 1.41/2.21 tryCatch( list( char ) ), X ), W ), V0 ), V1 ) ), Y ) ), hAPP(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), val_1( list( char ), Z ) ), T ) ) ),
% 1.41/2.21 hAPP( fun( product_prod( product_prod( exp( list( char ) ), product_prod
% 1.41/2.21 ( fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.21 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.21 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.21 ) ) ), bool ), fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), transitive_rtrancl(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.21 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.21 , fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), red, U ) ) ) ) }.
% 1.41/2.21 { ! val_1( X, Y ) = val_1( X, Z ), Y = Z }.
% 1.41/2.21 { ! Y = Z, val_1( X, Y ) = val_1( X, Z ) }.
% 1.41/2.21 { ! val_1( X, Y ) = hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X ), exp(
% 1.41/2.21 X ) ), hAPP( list( char ), fun( X, fun( exp( X ), exp( X ) ) ), hAPP( exp
% 1.41/2.21 ( X ), fun( list( char ), fun( X, fun( exp( X ), exp( X ) ) ) ), tryCatch
% 1.41/2.21 ( X ), Z ), T ), U ), W ) }.
% 1.41/2.21 { ! hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X ), exp( X ) ), hAPP(
% 1.41/2.21 list( char ), fun( X, fun( exp( X ), exp( X ) ) ), hAPP( exp( X ), fun(
% 1.41/2.21 list( char ), fun( X, fun( exp( X ), exp( X ) ) ) ), tryCatch( X ), Y ),
% 1.41/2.21 Z ), T ), U ) = val_1( X, W ) }.
% 1.41/2.21 { ! val_1( X, Y ) = hAPP( list( char ), exp( X ), hAPP( list( char ), fun(
% 1.41/2.21 list( char ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list(
% 1.41/2.21 char ), exp( X ) ) ), fAcc( X ), Z ), T ), U ) }.
% 1.41/2.21 { ! hAPP( list( char ), exp( X ), hAPP( list( char ), fun( list( char ),
% 1.41/2.21 exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( char ), exp( X
% 1.41/2.21 ) ) ), fAcc( X ), Y ), Z ), T ) = val_1( X, U ) }.
% 1.41/2.21 { ! val_1( X, Y ) = hAPP( exp( X ), exp( X ), hAPP( list( char ), fun( exp
% 1.41/2.21 ( X ), exp( X ) ), cast( X ), Z ), T ) }.
% 1.41/2.21 { ! hAPP( exp( X ), exp( X ), hAPP( list( char ), fun( exp( X ), exp( X ) )
% 1.41/2.21 , cast( X ), Y ), Z ) = val_1( X, T ) }.
% 1.41/2.21 { hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list
% 1.41/2.21 ( char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char
% 1.41/2.21 ) ) ), hAPP( list( char ), fun( list( char ), fun( exp( list( char ) ),
% 1.41/2.21 exp( list( char ) ) ) ), hAPP( exp( list( char ) ), fun( list( char ),
% 1.41/2.21 fun( list( char ), fun( exp( list( char ) ), exp( list( char ) ) ) ) ),
% 1.41/2.21 tryCatch( list( char ) ), val_1( list( char ), X ) ), Y ), Z ), T ) ), U
% 1.41/2.21 ) ), hAPP( product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), val_1( list( char ), X ) ), U ) ) ),
% 1.41/2.21 hAPP( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.21 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.21 , fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), red, W ) ) ) }.
% 1.41/2.21 { ! hBOOL( hAPP( fun( product_prod( product_prod( list( exp( list( char ) )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.21 fun( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool ), member( product_prod
% 1.41/2.21 ( product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ) ), hAPP( product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( list( exp( list
% 1.41/2.21 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.21 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.21 , fun( list( char ), option( val ) ) ) ), fun( product_prod( list( exp(
% 1.41/2.21 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.21 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.21 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod(
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 product_Pair( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ) ), hAPP( product_prod( fun( nat, option( product_prod( list
% 1.41/2.21 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.21 ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( list( exp(
% 1.41/2.21 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.21 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.21 ) ) ), fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list(
% 1.41/2.21 char ) ) ), fun( product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ), product_prod( list( exp( list(
% 1.41/2.21 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list(
% 1.41/2.21 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ), product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), hAPP( list( exp( list( char ) ) ), fun( product_prod( fun( nat
% 1.41/2.21 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.21 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.21 ), product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), product_Pair( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , Z ), T ) ) ), hAPP( list( product_prod( list( char ), product_prod(
% 1.41/2.21 list( char ), product_prod( list( product_prod( list( char ), ty ) ),
% 1.41/2.21 list( product_prod( list( char ), product_prod( list( ty ), product_prod
% 1.41/2.21 ( ty, product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) )
% 1.41/2.21 ) ) ), fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), reds, U ) ) ), hBOOL( hAPP(
% 1.41/2.21 fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.21 fun( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool ), member( product_prod
% 1.41/2.21 ( product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ) ), hAPP( product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( list( exp( list
% 1.41/2.21 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.21 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.21 , fun( list( char ), option( val ) ) ) ), fun( product_prod( list( exp(
% 1.41/2.21 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.21 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.21 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod(
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 product_Pair( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ) ), hAPP( product_prod( fun( nat, option( product_prod( list
% 1.41/2.21 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.21 ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( list( exp(
% 1.41/2.21 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.21 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.21 ) ) ), fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list(
% 1.41/2.21 char ) ) ), fun( product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ), product_prod( list( exp( list(
% 1.41/2.21 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list(
% 1.41/2.21 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) )
% 1.41/2.21 , list( exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( exp
% 1.41/2.21 ( list( char ) ) ), list( exp( list( char ) ) ) ), cons( exp( list( char
% 1.41/2.21 ) ) ), val_1( list( char ), W ) ), X ) ), Y ) ), hAPP( product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ), product_prod( list( exp( list( char ) ) ), product_prod( fun( nat
% 1.41/2.21 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.21 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.21 ) ), hAPP( list( exp( list( char ) ) ), fun( product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.21 product_Pair( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.21 ( list( exp( list( char ) ) ), list( exp( list( char ) ) ), hAPP( exp(
% 1.41/2.21 list( char ) ), fun( list( exp( list( char ) ) ), list( exp( list( char )
% 1.41/2.21 ) ) ), cons( exp( list( char ) ) ), val_1( list( char ), W ) ), Z ) ), T
% 1.41/2.21 ) ) ), hAPP( list( product_prod( list( char ), product_prod( list( char
% 1.41/2.21 ), product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.21 , fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), reds, U ) ) ) }.
% 1.41/2.21 { ! hBOOL( hAPP( fun( product_prod( product_prod( list( exp( list( char ) )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.21 fun( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool ), member( product_prod
% 1.41/2.21 ( product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ) ), hAPP( product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( list( exp( list
% 1.41/2.21 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.21 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.21 , fun( list( char ), option( val ) ) ) ), fun( product_prod( list( exp(
% 1.41/2.21 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.21 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.21 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod(
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 product_Pair( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ) ), hAPP( product_prod( fun( nat, option( product_prod( list
% 1.41/2.21 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.21 ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( list( exp(
% 1.41/2.21 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.21 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.21 ) ) ), fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list(
% 1.41/2.21 char ) ) ), fun( product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ), product_prod( list( exp( list(
% 1.41/2.21 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list(
% 1.41/2.21 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ), product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), hAPP( list( exp( list( char ) ) ), fun( product_prod( fun( nat
% 1.41/2.21 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.21 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.21 ), product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), product_Pair( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , Z ), T ) ) ), hAPP( fun( product_prod( product_prod( list( exp( list(
% 1.41/2.21 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( list( exp( list(
% 1.41/2.21 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.21 bool ), transitive_rtrancl( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.21 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.21 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.21 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.21 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( list( exp( list
% 1.41/2.21 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.21 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.21 , fun( list( char ), option( val ) ) ) ), product_prod( list( exp( list(
% 1.41/2.21 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), bool ), reds, U ) ) ) ), hBOOL
% 1.41/2.21 ( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) ),
% 1.41/2.21 exp( list( char ) ), hAPP( list( char ), fun( list( exp( list( char ) ) )
% 1.41/2.21 , exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( char ),
% 1.41/2.21 fun( list( exp( list( char ) ) ), exp( list( char ) ) ) ), call( list(
% 1.41/2.21 char ) ), val_1( list( char ), W ) ), V0 ), X ) ), Y ) ), hAPP(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) ), exp
% 1.41/2.21 ( list( char ) ), hAPP( list( char ), fun( list( exp( list( char ) ) ),
% 1.41/2.21 exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( char ), fun
% 1.41/2.21 ( list( exp( list( char ) ) ), exp( list( char ) ) ) ), call( list( char
% 1.41/2.21 ) ), val_1( list( char ), W ) ), V0 ), Z ) ), T ) ) ), hAPP( fun(
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.21 ), fun( product_prod( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.21 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.21 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.21 ) ) ), bool ), transitive_rtrancl( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.21 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.21 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.21 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.21 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ) }.
% 1.41/2.21 { ! hBOOL( hAPP( fun( product_prod( product_prod( list( exp( list( char ) )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.21 fun( fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool ), member( product_prod
% 1.41/2.21 ( product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ) ), hAPP( product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( list( exp( list
% 1.41/2.21 ( char ) ) ), product_prod( fun( nat, option( product_prod( list( char )
% 1.41/2.21 , fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) )
% 1.41/2.21 , fun( list( char ), option( val ) ) ) ), fun( product_prod( list( exp(
% 1.41/2.21 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.21 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.21 ) ) ), fun( list( char ), option( val ) ) ) ), product_prod(
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( list( exp( list( char ) ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 product_Pair( product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ), product_prod( list( exp( list( char ) ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ) ), hAPP( product_prod( fun( nat, option( product_prod( list
% 1.41/2.21 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.21 ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( list( exp(
% 1.41/2.21 list( char ) ) ), product_prod( fun( nat, option( product_prod( list(
% 1.41/2.21 char ), fun( product_prod( list( char ), list( char ) ), option( val ) )
% 1.41/2.21 ) ) ), fun( list( char ), option( val ) ) ) ), hAPP( list( exp( list(
% 1.41/2.21 char ) ) ), fun( product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ), product_prod( list( exp( list(
% 1.41/2.21 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), product_Pair( list( exp( list(
% 1.41/2.21 char ) ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ), product_prod( list( exp( list( char ) ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), hAPP( list( exp( list( char ) ) ), fun( product_prod( fun( nat
% 1.41/2.21 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.21 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.21 ), product_prod( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), product_Pair( list( exp( list( char ) ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , Z ), T ) ) ), hAPP( list( product_prod( list( char ), product_prod(
% 1.41/2.21 list( char ), product_prod( list( product_prod( list( char ), ty ) ),
% 1.41/2.21 list( product_prod( list( char ), product_prod( list( ty ), product_prod
% 1.41/2.21 ( ty, product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) )
% 1.41/2.21 ) ) ), fun( product_prod( product_prod( list( exp( list( char ) ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( list( exp( list( char )
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), reds, U ) ) ), hBOOL( hAPP(
% 1.41/2.21 fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun(
% 1.41/2.21 nat, option( product_prod( list( char ), fun( product_prod( list( char )
% 1.41/2.21 , list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val )
% 1.41/2.21 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.21 bool ), bool, hAPP( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), fun( fun( product_prod( product_prod
% 1.41/2.21 ( exp( list( char ) ), product_prod( fun( nat, option( product_prod( list
% 1.41/2.21 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.21 ) ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), bool ), bool ), member(
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 hAPP( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), fun(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 product_Pair( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) ), exp
% 1.41/2.21 ( list( char ) ), hAPP( list( char ), fun( list( exp( list( char ) ) ),
% 1.41/2.21 exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( char ), fun
% 1.41/2.21 ( list( exp( list( char ) ) ), exp( list( char ) ) ) ), call( list( char
% 1.41/2.21 ) ), val_1( list( char ), W ) ), V0 ), X ) ), Y ) ), hAPP( product_prod
% 1.41/2.21 ( fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , hAPP( exp( list( char ) ), fun( product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ),
% 1.41/2.21 product_Pair( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 list( exp( list( char ) ) ), exp( list( char ) ), hAPP( list( char ), fun
% 1.41/2.21 ( list( exp( list( char ) ) ), exp( list( char ) ) ), hAPP( exp( list(
% 1.41/2.21 char ) ), fun( list( char ), fun( list( exp( list( char ) ) ), exp( list
% 1.41/2.21 ( char ) ) ) ), call( list( char ) ), val_1( list( char ), W ) ), V0 ), Z
% 1.41/2.21 ) ), T ) ) ), hAPP( list( product_prod( list( char ), product_prod( list
% 1.41/2.21 ( char ), product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.21 , fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), red, U ) ) ) }.
% 1.41/2.21 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.21 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.21 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), val_1( list( char ), null ) ), Z ) )
% 1.41/2.21 ), hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.21 ), transitive_rtrancl( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ) ), hAPP( list( product_prod( list( char ), product_prod(
% 1.41/2.21 list( char ), product_prod( list( product_prod( list( char ), ty ) ),
% 1.41/2.21 list( product_prod( list( char ), product_prod( list( ty ), product_prod
% 1.41/2.21 ( ty, product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) )
% 1.41/2.21 ) ) ), fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), red, T ) ) ) ), hBOOL( hAPP
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool, hAPP( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), fun( fun( product_prod( product_prod
% 1.41/2.21 ( exp( list( char ) ), product_prod( fun( nat, option( product_prod( list
% 1.41/2.21 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.21 ) ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), bool ), bool ), member(
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 hAPP( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), fun(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 product_Pair( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list(
% 1.41/2.21 char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char )
% 1.41/2.21 ) ), cast( list( char ) ), U ), X ) ), Y ) ), hAPP( product_prod( fun(
% 1.41/2.21 nat, option( product_prod( list( char ), fun( product_prod( list( char )
% 1.41/2.21 , list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val )
% 1.41/2.21 ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), val_1( list( char ), null ) ), Z ) )
% 1.41/2.21 ), hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.21 ), transitive_rtrancl( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ) ), hAPP( list( product_prod( list( char ), product_prod(
% 1.41/2.21 list( char ), product_prod( list( product_prod( list( char ), ty ) ),
% 1.41/2.21 list( product_prod( list( char ), product_prod( list( ty ), product_prod
% 1.41/2.21 ( ty, product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) )
% 1.41/2.21 ) ) ), fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), red, T ) ) ) ) }.
% 1.41/2.21 { ! hAPP( list( exp( X ) ), exp( X ), hAPP( list( char ), fun( list( exp( X
% 1.41/2.21 ) ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( exp( X )
% 1.41/2.21 ), exp( X ) ) ), call( X ), Y ), Z ), T ) = val_1( X, U ) }.
% 1.41/2.21 { ! val_1( X, Y ) = hAPP( list( exp( X ) ), exp( X ), hAPP( list( char ),
% 1.41/2.21 fun( list( exp( X ) ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun
% 1.41/2.21 ( list( exp( X ) ), exp( X ) ) ), call( X ), Z ), T ), U ) }.
% 1.41/2.21 { ! hBOOL( hAPP( fun( X, bool ), bool, hAPP( X, fun( fun( X, bool ), bool )
% 1.41/2.21 , member( X ), Y ), Z ) ), hBOOL( hAPP( X, bool, Z, Y ) ) }.
% 1.41/2.21 { ! hBOOL( hAPP( X, bool, Z, Y ) ), hBOOL( hAPP( fun( X, bool ), bool, hAPP
% 1.41/2.21 ( X, fun( fun( X, bool ), bool ), member( X ), Y ), Z ) ) }.
% 1.41/2.21 { ! hAPP( list( exp( X ) ), exp( X ), hAPP( list( char ), fun( list( exp( X
% 1.41/2.21 ) ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( exp( X )
% 1.41/2.21 ), exp( X ) ) ), call( X ), Y ), Z ), T ) = hAPP( exp( X ), exp( X ),
% 1.41/2.21 hAPP( list( char ), fun( exp( X ), exp( X ) ), cast( X ), U ), W ) }.
% 1.41/2.21 { ! hAPP( exp( X ), exp( X ), hAPP( list( char ), fun( exp( X ), exp( X ) )
% 1.41/2.21 , cast( X ), Y ), Z ) = hAPP( list( exp( X ) ), exp( X ), hAPP( list(
% 1.41/2.21 char ), fun( list( exp( X ) ), exp( X ) ), hAPP( exp( X ), fun( list(
% 1.41/2.21 char ), fun( list( exp( X ) ), exp( X ) ) ), call( X ), T ), U ), W ) }.
% 1.41/2.21 { ! hAPP( list( char ), exp( X ), hAPP( list( char ), fun( list( char ),
% 1.41/2.21 exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( char ), exp( X
% 1.41/2.21 ) ) ), fAcc( X ), Y ), Z ), T ) = hAPP( list( exp( X ) ), exp( X ), hAPP
% 1.41/2.21 ( list( char ), fun( list( exp( X ) ), exp( X ) ), hAPP( exp( X ), fun(
% 1.41/2.21 list( char ), fun( list( exp( X ) ), exp( X ) ) ), call( X ), U ), W ),
% 1.41/2.21 V0 ) }.
% 1.41/2.21 { ! hAPP( list( exp( X ) ), exp( X ), hAPP( list( char ), fun( list( exp( X
% 1.41/2.21 ) ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( exp( X )
% 1.41/2.21 ), exp( X ) ) ), call( X ), Y ), Z ), T ) = hAPP( list( char ), exp( X )
% 1.41/2.21 , hAPP( list( char ), fun( list( char ), exp( X ) ), hAPP( exp( X ), fun
% 1.41/2.21 ( list( char ), fun( list( char ), exp( X ) ) ), fAcc( X ), U ), W ), V0
% 1.41/2.21 ) }.
% 1.41/2.21 { ! hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X ), exp( X ) ), hAPP(
% 1.41/2.21 list( char ), fun( X, fun( exp( X ), exp( X ) ) ), hAPP( exp( X ), fun(
% 1.41/2.21 list( char ), fun( X, fun( exp( X ), exp( X ) ) ) ), tryCatch( X ), Y ),
% 1.41/2.21 Z ), T ), U ) = hAPP( list( exp( X ) ), exp( X ), hAPP( list( char ), fun
% 1.41/2.21 ( list( exp( X ) ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun(
% 1.41/2.21 list( exp( X ) ), exp( X ) ) ), call( X ), W ), V0 ), V1 ) }.
% 1.41/2.21 { ! hAPP( list( exp( X ) ), exp( X ), hAPP( list( char ), fun( list( exp( X
% 1.41/2.21 ) ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( exp( X )
% 1.41/2.21 ), exp( X ) ) ), call( X ), Y ), Z ), T ) = hAPP( exp( X ), exp( X ),
% 1.41/2.21 hAPP( X, fun( exp( X ), exp( X ) ), hAPP( list( char ), fun( X, fun( exp
% 1.41/2.21 ( X ), exp( X ) ) ), hAPP( exp( X ), fun( list( char ), fun( X, fun( exp
% 1.41/2.21 ( X ), exp( X ) ) ) ), tryCatch( X ), U ), W ), V0 ), V1 ) }.
% 1.41/2.21 { ! hAPP( list( exp( X ) ), exp( X ), hAPP( list( char ), fun( list( exp( X
% 1.41/2.21 ) ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( exp( X )
% 1.41/2.21 ), exp( X ) ) ), call( X ), Y ), Z ), T ) = hAPP( list( exp( X ) ), exp
% 1.41/2.21 ( X ), hAPP( list( char ), fun( list( exp( X ) ), exp( X ) ), hAPP( exp(
% 1.41/2.21 X ), fun( list( char ), fun( list( exp( X ) ), exp( X ) ) ), call( X ), U
% 1.41/2.21 ), W ), V0 ), Y = U }.
% 1.41/2.21 { ! hAPP( list( exp( X ) ), exp( X ), hAPP( list( char ), fun( list( exp( X
% 1.41/2.21 ) ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( exp( X )
% 1.41/2.21 ), exp( X ) ) ), call( X ), Y ), Z ), T ) = hAPP( list( exp( X ) ), exp
% 1.41/2.21 ( X ), hAPP( list( char ), fun( list( exp( X ) ), exp( X ) ), hAPP( exp(
% 1.41/2.21 X ), fun( list( char ), fun( list( exp( X ) ), exp( X ) ) ), call( X ), U
% 1.41/2.21 ), W ), V0 ), alpha3( Z, T, W, V0 ) }.
% 1.41/2.21 { ! Y = U, ! alpha3( Z, T, W, V0 ), hAPP( list( exp( X ) ), exp( X ), hAPP
% 1.41/2.21 ( list( char ), fun( list( exp( X ) ), exp( X ) ), hAPP( exp( X ), fun(
% 1.41/2.21 list( char ), fun( list( exp( X ) ), exp( X ) ) ), call( X ), Y ), Z ), T
% 1.41/2.21 ) = hAPP( list( exp( X ) ), exp( X ), hAPP( list( char ), fun( list( exp
% 1.41/2.21 ( X ) ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( exp( X
% 1.41/2.21 ) ), exp( X ) ) ), call( X ), U ), W ), V0 ) }.
% 1.41/2.21 { ! alpha3( X, Y, Z, T ), X = Z }.
% 1.41/2.21 { ! alpha3( X, Y, Z, T ), Y = T }.
% 1.41/2.21 { ! X = Z, ! Y = T, alpha3( X, Y, Z, T ) }.
% 1.41/2.21 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.21 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.21 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), Z ), T ) ) ), hAPP( list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.21 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.21 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.21 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.21 ), red, U ) ) ), hBOOL( hAPP( fun( product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) ),
% 1.41/2.21 exp( list( char ) ), hAPP( list( char ), fun( list( exp( list( char ) ) )
% 1.41/2.21 , exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( char ),
% 1.41/2.21 fun( list( exp( list( char ) ) ), exp( list( char ) ) ) ), call( list(
% 1.41/2.21 char ) ), X ), W ), V0 ) ), Y ) ), hAPP( product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) ),
% 1.41/2.21 exp( list( char ) ), hAPP( list( char ), fun( list( exp( list( char ) ) )
% 1.41/2.21 , exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( char ),
% 1.41/2.21 fun( list( exp( list( char ) ) ), exp( list( char ) ) ) ), call( list(
% 1.41/2.21 char ) ), Z ), W ), V0 ) ), T ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.21 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.21 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.21 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.21 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) }.
% 1.41/2.21 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.21 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.21 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), Z ), T ) ) ), hAPP( fun(
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.21 ), fun( product_prod( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.21 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.21 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.21 ) ) ), bool ), transitive_rtrancl( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.21 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.21 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.21 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.21 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ), hBOOL( hAPP
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool, hAPP( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), fun( fun( product_prod( product_prod
% 1.41/2.21 ( exp( list( char ) ), product_prod( fun( nat, option( product_prod( list
% 1.41/2.21 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.21 ) ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), bool ), bool ), member(
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 hAPP( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), fun(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 product_Pair( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) ), exp
% 1.41/2.21 ( list( char ) ), hAPP( list( char ), fun( list( exp( list( char ) ) ),
% 1.41/2.21 exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( char ), fun
% 1.41/2.21 ( list( exp( list( char ) ) ), exp( list( char ) ) ) ), call( list( char
% 1.41/2.21 ) ), X ), W ), V0 ) ), Y ) ), hAPP( product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), hAPP( list( exp( list( char ) ) ),
% 1.41/2.21 exp( list( char ) ), hAPP( list( char ), fun( list( exp( list( char ) ) )
% 1.41/2.21 , exp( list( char ) ) ), hAPP( exp( list( char ) ), fun( list( char ),
% 1.41/2.21 fun( list( exp( list( char ) ) ), exp( list( char ) ) ) ), call( list(
% 1.41/2.21 char ) ), Z ), W ), V0 ) ), T ) ) ), hAPP( fun( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.21 ), fun( product_prod( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.21 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.21 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.21 ) ) ), bool ), transitive_rtrancl( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( list( product_prod( list( char
% 1.41/2.21 ), product_prod( list( char ), product_prod( list( product_prod( list(
% 1.41/2.21 char ), ty ) ), list( product_prod( list( char ), product_prod( list( ty
% 1.41/2.21 ), product_prod( ty, product_prod( list( list( char ) ), exp( list( char
% 1.41/2.21 ) ) ) ) ) ) ) ) ) ) ), fun( product_prod( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ) }.
% 1.41/2.21 { hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list
% 1.41/2.21 ( char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char
% 1.41/2.21 ) ) ), cast( list( char ) ), X ), val_1( list( char ), null ) ) ), Y ) )
% 1.41/2.21 , hAPP( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), val_1( list( char ), null ) ), Y ) ) )
% 1.41/2.21 , hAPP( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.21 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.21 , fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), red, Z ) ) ) }.
% 1.41/2.21 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.21 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.21 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), throw( list( char ), Z ) ), T ) ) )
% 1.41/2.21 , hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.21 ), transitive_rtrancl( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ) ), hAPP( list( product_prod( list( char ), product_prod(
% 1.41/2.21 list( char ), product_prod( list( product_prod( list( char ), ty ) ),
% 1.41/2.21 list( product_prod( list( char ), product_prod( list( ty ), product_prod
% 1.41/2.21 ( ty, product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) )
% 1.41/2.21 ) ) ), fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ), hBOOL( hAPP
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool, hAPP( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), fun( fun( product_prod( product_prod
% 1.41/2.21 ( exp( list( char ) ), product_prod( fun( nat, option( product_prod( list
% 1.41/2.21 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.21 ) ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), bool ), bool ), member(
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 hAPP( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), fun(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 product_Pair( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( list( char ), exp( list( char )
% 1.41/2.21 ), hAPP( list( char ), fun( list( char ), exp( list( char ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( list( char ), fun( list( char ), exp( list(
% 1.41/2.21 char ) ) ) ), fAcc( list( char ) ), X ), W ), V0 ) ), Y ) ), hAPP(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), throw( list( char ), Z ) ), T ) ) ),
% 1.41/2.21 hAPP( fun( product_prod( product_prod( exp( list( char ) ), product_prod
% 1.41/2.21 ( fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat
% 1.41/2.21 , option( product_prod( list( char ), fun( product_prod( list( char ),
% 1.41/2.21 list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) )
% 1.41/2.21 ) ) ), bool ), fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), transitive_rtrancl(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.21 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.21 , fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), red, U ) ) ) ) }.
% 1.41/2.21 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.21 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.21 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), throw( list( char ), Z ) ), T ) ) )
% 1.41/2.21 , hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.21 ), transitive_rtrancl( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ) ), hAPP( list( product_prod( list( char ), product_prod(
% 1.41/2.21 list( char ), product_prod( list( product_prod( list( char ), ty ) ),
% 1.41/2.21 list( product_prod( list( char ), product_prod( list( ty ), product_prod
% 1.41/2.21 ( ty, product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) )
% 1.41/2.21 ) ) ), fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ), hBOOL( hAPP
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool, hAPP( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), fun( fun( product_prod( product_prod
% 1.41/2.21 ( exp( list( char ) ), product_prod( fun( nat, option( product_prod( list
% 1.41/2.21 ( char ), fun( product_prod( list( char ), list( char ) ), option( val )
% 1.41/2.21 ) ) ) ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ) ), bool ), bool ), member(
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 hAPP( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), fun(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ) ),
% 1.41/2.21 product_Pair( product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 , product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), hAPP
% 1.41/2.21 ( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), exp( list(
% 1.41/2.21 char ) ), hAPP( list( char ), fun( exp( list( char ) ), exp( list( char )
% 1.41/2.21 ) ), cast( list( char ) ), W ), X ) ), Y ) ), hAPP( product_prod( fun(
% 1.41/2.21 nat, option( product_prod( list( char ), fun( product_prod( list( char )
% 1.41/2.21 , list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val )
% 1.41/2.21 ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), throw( list( char ), Z ) ), T ) ) )
% 1.41/2.21 , hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), fun( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.21 ), transitive_rtrancl( product_prod( exp( list( char ) ), product_prod(
% 1.41/2.21 fun( nat, option( product_prod( list( char ), fun( product_prod( list(
% 1.41/2.21 char ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option
% 1.41/2.21 ( val ) ) ) ) ), hAPP( list( product_prod( list( char ), product_prod(
% 1.41/2.21 list( char ), product_prod( list( product_prod( list( char ), ty ) ),
% 1.41/2.21 list( product_prod( list( char ), product_prod( list( ty ), product_prod
% 1.41/2.21 ( ty, product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) )
% 1.41/2.21 ) ) ), fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), red, U ) ) ) ) }.
% 1.41/2.21 { ! throw( X, Y ) = val_1( X, Z ) }.
% 1.41/2.21 { ! val_1( X, Y ) = throw( X, Z ) }.
% 1.41/2.21 { ! throw( X, Y ) = hAPP( list( exp( X ) ), exp( X ), hAPP( list( char ),
% 1.41/2.21 fun( list( exp( X ) ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun
% 1.41/2.21 ( list( exp( X ) ), exp( X ) ) ), call( X ), Z ), T ), U ) }.
% 1.41/2.21 { ! hAPP( list( exp( X ) ), exp( X ), hAPP( list( char ), fun( list( exp( X
% 1.41/2.21 ) ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( exp( X )
% 1.41/2.21 ), exp( X ) ) ), call( X ), Y ), Z ), T ) = throw( X, U ) }.
% 1.41/2.21 { ! throw( X, Y ) = throw( X, Z ), Y = Z }.
% 1.41/2.21 { ! Y = Z, throw( X, Y ) = throw( X, Z ) }.
% 1.41/2.21 { ! throw( X, Y ) = hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X ), exp(
% 1.41/2.21 X ) ), hAPP( list( char ), fun( X, fun( exp( X ), exp( X ) ) ), hAPP( exp
% 1.41/2.21 ( X ), fun( list( char ), fun( X, fun( exp( X ), exp( X ) ) ) ), tryCatch
% 1.41/2.21 ( X ), Z ), T ), U ), W ) }.
% 1.41/2.21 { ! hAPP( exp( X ), exp( X ), hAPP( X, fun( exp( X ), exp( X ) ), hAPP(
% 1.41/2.21 list( char ), fun( X, fun( exp( X ), exp( X ) ) ), hAPP( exp( X ), fun(
% 1.41/2.21 list( char ), fun( X, fun( exp( X ), exp( X ) ) ) ), tryCatch( X ), Y ),
% 1.41/2.21 Z ), T ), U ) = throw( X, W ) }.
% 1.41/2.21 { ! throw( X, Y ) = hAPP( list( char ), exp( X ), hAPP( list( char ), fun(
% 1.41/2.21 list( char ), exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list(
% 1.41/2.21 char ), exp( X ) ) ), fAcc( X ), Z ), T ), U ) }.
% 1.41/2.21 { ! hAPP( list( char ), exp( X ), hAPP( list( char ), fun( list( char ),
% 1.41/2.21 exp( X ) ), hAPP( exp( X ), fun( list( char ), fun( list( char ), exp( X
% 1.41/2.21 ) ) ), fAcc( X ), Y ), Z ), T ) = throw( X, U ) }.
% 1.41/2.21 { ! throw( X, Y ) = hAPP( exp( X ), exp( X ), hAPP( list( char ), fun( exp
% 1.41/2.21 ( X ), exp( X ) ), cast( X ), Z ), T ) }.
% 1.41/2.21 { ! hAPP( exp( X ), exp( X ), hAPP( list( char ), fun( exp( X ), exp( X ) )
% 1.41/2.21 , cast( X ), Y ), Z ) = throw( X, T ) }.
% 1.41/2.21 { ! hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), X ), Y ) ), hAPP( product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP
% 1.41/2.21 ( exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod
% 1.41/2.21 ( list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), Z ), T ) ) ), hAPP( list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( char ), product_prod(
% 1.41/2.21 list( product_prod( list( char ), ty ) ), list( product_prod( list( char
% 1.41/2.21 ), product_prod( list( ty ), product_prod( ty, product_prod( list( list
% 1.41/2.21 ( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) ), fun( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), bool
% 1.41/2.21 ), red, U ) ) ), hBOOL( hAPP( fun( product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), throw( list( char ), X ) ), Y ) ),
% 1.41/2.21 hAPP( product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), throw( list( char ), Z ) ), T ) ) ),
% 1.41/2.21 hAPP( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.21 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.21 , fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), red, U ) ) ) }.
% 1.41/2.21 { ti( X, ti( X, Y ) ) = ti( X, Y ) }.
% 1.41/2.21 { hBOOL( hAPP( fun( product_prod( product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), bool ), bool, hAPP( product_prod(
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), bool ), member( product_prod( product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), hAPP( product_prod( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), product_prod( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), fun( product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_prod( product_prod( exp( list
% 1.41/2.21 ( char ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char ) )
% 1.41/2.21 , product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ) ), product_Pair( product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ), product_prod( exp( list( char
% 1.41/2.21 ) ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), hAPP( product_prod( fun( nat, option
% 1.41/2.21 ( product_prod( list( char ), fun( product_prod( list( char ), list( char
% 1.41/2.21 ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ),
% 1.41/2.21 product_prod( exp( list( char ) ), product_prod( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) ), hAPP(
% 1.41/2.21 exp( list( char ) ), fun( product_prod( fun( nat, option( product_prod(
% 1.41/2.21 list( char ), fun( product_prod( list( char ), list( char ) ), option(
% 1.41/2.21 val ) ) ) ) ), fun( list( char ), option( val ) ) ), product_prod( exp(
% 1.41/2.21 list( char ) ), product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ) ) ), product_Pair( exp( list(
% 1.41/2.21 char ) ), product_prod( fun( nat, option( product_prod( list( char ), fun
% 1.41/2.21 ( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun
% 1.41/2.21 ( list( char ), option( val ) ) ) ), e ), hAPP( fun( list( char ), option
% 1.41/2.21 ( val ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ), hAPP( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( fun( list( char ), option( val ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_Pair( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ), h_1 ),
% 1.41/2.21 l_1 ) ) ), hAPP( product_prod( fun( nat, option( product_prod( list( char
% 1.41/2.21 ), fun( product_prod( list( char ), list( char ) ), option( val ) ) ) )
% 1.41/2.21 ), fun( list( char ), option( val ) ) ), product_prod( exp( list( char )
% 1.41/2.21 ), product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), hAPP( exp( list( char ) ), fun(
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ), product_prod( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ) ), product_Pair( exp( list( char ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), e_2 ), hAPP( fun( list( char ), option
% 1.41/2.21 ( val ) ), product_prod( fun( nat, option( product_prod( list( char ),
% 1.41/2.21 fun( product_prod( list( char ), list( char ) ), option( val ) ) ) ) ),
% 1.41/2.21 fun( list( char ), option( val ) ) ), hAPP( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( fun( list( char ), option( val ) ),
% 1.41/2.21 product_prod( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 list( char ), option( val ) ) ) ), product_Pair( fun( nat, option(
% 1.41/2.21 product_prod( list( char ), fun( product_prod( list( char ), list( char )
% 1.41/2.21 ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ), h ), l )
% 1.41/2.21 ) ) ), hAPP( list( product_prod( list( char ), product_prod( list( char
% 1.41/2.21 ), product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.21 , fun( product_prod( product_prod( exp( list( char ) ), product_prod( fun
% 1.41/2.21 ( nat, option( product_prod( list( char ), fun( product_prod( list( char
% 1.41/2.21 ), list( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val
% 1.41/2.21 ) ) ) ), product_prod( exp( list( char ) ), product_prod( fun( nat,
% 1.41/2.21 option( product_prod( list( char ), fun( product_prod( list( char ), list
% 1.41/2.21 ( char ) ), option( val ) ) ) ) ), fun( list( char ), option( val ) ) ) )
% 1.41/2.21 ), bool ), red, p ) ) ) }.
% 1.41/2.21 { hBOOL( hAPP( ty, bool, hAPP( exp( list( char ) ), fun( ty, bool ), hAPP(
% 1.41/2.21 fun( list( char ), option( ty ) ), fun( exp( list( char ) ), fun( ty,
% 1.41/2.21 bool ) ), hAPP( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), fun(
% 1.41/2.21 fun( list( char ), option( ty ) ), fun( exp( list( char ) ), fun( ty,
% 1.41/2.21 bool ) ) ), hAPP( list( product_prod( list( char ), product_prod( list(
% 1.41/2.21 char ), product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.21 , fun( fun( nat, option( product_prod( list( char ), fun( product_prod(
% 1.41/2.21 list( char ), list( char ) ), option( val ) ) ) ) ), fun( fun( list( char
% 1.41/2.21 ), option( ty ) ), fun( exp( list( char ) ), fun( ty, bool ) ) ) ), wTrt
% 1.41/2.21 , p ), h_1 ), e_1 ), e ), t ) ) }.
% 1.41/2.21 { hBOOL( hAPP( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), bool,
% 1.41/2.21 hAPP( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.21 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.21 , fun( fun( nat, option( product_prod( list( char ), fun( product_prod(
% 1.41/2.21 list( char ), list( char ) ), option( val ) ) ) ) ), bool ), hconf(
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ), p ), h_1 ) )
% 1.41/2.21 }.
% 1.41/2.21 { ! hBOOL( hAPP( fun( nat, option( product_prod( list( char ), fun(
% 1.41/2.21 product_prod( list( char ), list( char ) ), option( val ) ) ) ) ), bool,
% 1.41/2.21 hAPP( list( product_prod( list( char ), product_prod( list( char ),
% 1.41/2.21 product_prod( list( product_prod( list( char ), ty ) ), list(
% 1.41/2.21 product_prod( list( char ), product_prod( list( ty ), product_prod( ty,
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ) ) ) ) ) ) ) )
% 1.41/2.21 , fun( fun( nat, option( product_prod( list( char ), fun( product_prod(
% 1.41/2.21 list( char ), list( char ) ), option( val ) ) ) ) ), bool ), hconf(
% 1.41/2.21 product_prod( list( list( char ) ), exp( list( char ) ) ) ), p ), h ) ) }
% 1.41/2.21 .
% 1.41/2.21
% 1.41/2.21 *** allocated 15000 integers for clauses
% 1.41/2.21 *** allocated 22500 integers for clauses
% 1.41/2.21 *** allocated 33750 integers for clauses
% 1.41/2.21 *** allocated 50625 integers for clauses
% 1.41/2.21 *** allocated 75937 integers for clauses
% 1.41/2.21 percentage equality = 0.391813, percentage horn = 0.915789
% 1.41/2.21 This is a problem with some equality
% 1.41/2.21
% 1.41/2.21
% 1.41/2.21
% 1.41/2.21 Options Used:
% 1.41/2.21
% 1.41/2.21 useres = 1
% 1.41/2.21 useparamod = 1
% 1.41/2.21 useeqrefl = 1
% 1.41/2.21 useeqfact = 1
% 1.41/2.21 usefactor = 1
% 1.41/2.21 usesimpsplitting = 0
% 1.41/2.21 usesimpdemod = 5
% 1.41/2.21 usesimpres = 3
% 1.41/2.21
% 1.41/2.21 resimpinuse = 1000
% 1.41/2.21 resimpclauses = 20000
% 1.41/2.21 substype = eqrewr
% 1.41/2.21 backwardsubs = 1
% 1.41/2.21 selectoldest = 5
% 1.41/2.21
% 1.41/2.21 litorderings [0] = split
% 1.41/2.21 litorderings [1] = extend the termordering, first sorting on arguments
% 1.41/2.21
% 1.41/2.21 termordering = kbo
% 1.41/2.21
% 1.41/2.21 litapriori = 0
% 1.41/2.21 termapriori = 1
% 1.41/2.21 litaposteriori = 0
% 1.41/2.21 termaposteriori = 0
% 1.41/2.21 demodaposteriori = 0
% 1.41/2.21 ordereqreflfact = 0
% 1.41/2.21
% 1.41/2.21 litselect = negord
% 1.41/2.21
% 1.41/2.21 maxweight = 15
% 1.41/2.21 maxdepth = 30000
% 1.41/2.21 maxlength = 115
% 1.41/2.21 maxnrvars = 195
% 1.41/2.21 excuselevel = 1
% 1.41/2.21 increasemaxweight = 1
% 1.41/2.21
% 1.41/2.21 maxselected = 10000000
% 1.41/2.21 maxnrclauses = 10000000
% 1.41/2.21
% 1.41/2.21 showgenerated = 0
% 1.41/2.21 showkept = 0
% 1.41/2.21 showselected = 0
% 1.41/2.21 showdeleted = 0
% 1.41/2.21 showresimp = 1
% 1.41/2.21 showstatus = 2000
% 1.41/2.21
% 1.41/2.21 prologoutput = 0
% 1.41/2.21 nrgoals = 5000000
% 1.41/2.21 totalproof = 1
% 1.41/2.21
% 1.41/2.21 Symbols occurring in the translation:
% 1.41/2.21
% 1.41/2.21 {} [0, 0] (w:1, o:2, a:1, s:1, b:0),
% 1.41/2.21 . [1, 2] (w:1, o:145, a:1, s:1, b:0),
% 1.41/2.21 ! [4, 1] (w:0, o:127, a:1, s:1, b:0),
% 1.41/2.21 = [13, 2] (w:1, o:0, a:0, s:1, b:0),
% 21.12/21.52 ==> [14, 2] (w:1, o:0, a:0, s:1, b:0),
% 21.12/21.52 char [35, 0] (w:1, o:7, a:1, s:1, b:0),
% 21.12/21.52 list [36, 1] (w:1, o:132, a:1, s:1, b:0),
% 21.12/21.52 ty [37, 0] (w:1, o:8, a:1, s:1, b:0),
% 21.12/21.52 product_prod [38, 2] (w:1, o:169, a:1, s:1, b:0),
% 21.12/21.52 exp [39, 1] (w:1, o:133, a:1, s:1, b:0),
% 21.12/21.52 nat [40, 0] (w:1, o:9, a:1, s:1, b:0),
% 21.12/21.52 val [41, 0] (w:1, o:10, a:1, s:1, b:0),
% 21.12/21.52 option [42, 1] (w:1, o:134, a:1, s:1, b:0),
% 21.12/21.52 fun [43, 2] (w:1, o:170, a:1, s:1, b:0),
% 21.12/21.52 bool [44, 0] (w:1, o:6, a:1, s:1, b:0),
% 21.12/21.52 hconf [45, 1] (w:1, o:135, a:1, s:1, b:0),
% 21.12/21.52 ti [46, 2] (w:1, o:172, a:1, s:1, b:0),
% 21.12/21.52 call [48, 1] (w:1, o:136, a:1, s:1, b:0),
% 21.12/21.52 cast [49, 1] (w:1, o:137, a:1, s:1, b:0),
% 21.12/21.52 fAcc [50, 1] (w:1, o:138, a:1, s:1, b:0),
% 21.12/21.52 tryCatch [51, 1] (w:1, o:139, a:1, s:1, b:0),
% 21.12/21.52 val_1 [53, 2] (w:1, o:173, a:1, s:1, b:0),
% 21.12/21.52 throw [54, 2] (w:1, o:171, a:1, s:1, b:0),
% 21.12/21.52 undefined [55, 1] (w:1, o:141, a:1, s:1, b:0),
% 21.12/21.52 cons [56, 1] (w:1, o:142, a:1, s:1, b:0),
% 21.12/21.52 map_add [58, 2] (w:1, o:174, a:1, s:1, b:0),
% 21.12/21.52 hext [59, 0] (w:1, o:24, a:1, s:1, b:0),
% 21.12/21.52 product_Pair [62, 2] (w:1, o:175, a:1, s:1, b:0),
% 21.12/21.52 product_curry [64, 3] (w:1, o:176, a:1, s:1, b:0),
% 21.12/21.52 produc1605651328_split [65, 3] (w:1, o:177, a:1, s:1, b:0),
% 21.12/21.52 product_prod_rec [66, 3] (w:1, o:178, a:1, s:1, b:0),
% 21.12/21.52 red [67, 0] (w:1, o:29, a:1, s:1, b:0),
% 21.12/21.52 reds [68, 0] (w:1, o:30, a:1, s:1, b:0),
% 21.12/21.52 transitive_rtrancl [69, 1] (w:1, o:140, a:1, s:1, b:0),
% 21.12/21.52 null [70, 0] (w:1, o:31, a:1, s:1, b:0),
% 21.12/21.52 wTrt [71, 0] (w:1, o:32, a:1, s:1, b:0),
% 21.12/21.52 hAPP [73, 4] (w:1, o:189, a:1, s:1, b:0),
% 21.12/21.52 hBOOL [74, 1] (w:1, o:143, a:1, s:1, b:0),
% 21.12/21.52 member [75, 1] (w:1, o:144, a:1, s:1, b:0),
% 21.12/21.52 e_1 [76, 0] (w:1, o:35, a:1, s:1, b:0),
% 21.12/21.52 p [77, 0] (w:1, o:36, a:1, s:1, b:0),
% 21.12/21.52 t [78, 0] (w:1, o:37, a:1, s:1, b:0),
% 21.12/21.52 e [79, 0] (w:1, o:38, a:1, s:1, b:0),
% 21.12/21.52 e_2 [80, 0] (w:1, o:39, a:1, s:1, b:0),
% 21.12/21.52 h_1 [81, 0] (w:1, o:40, a:1, s:1, b:0),
% 21.12/21.52 h [82, 0] (w:1, o:41, a:1, s:1, b:0),
% 21.12/21.52 l_1 [83, 0] (w:1, o:42, a:1, s:1, b:0),
% 21.12/21.52 l [84, 0] (w:1, o:43, a:1, s:1, b:0),
% 21.12/21.52 alpha1 [180, 4] (w:1, o:190, a:1, s:1, b:1),
% 21.12/21.52 alpha2 [181, 5] (w:1, o:205, a:1, s:1, b:1),
% 21.12/21.52 alpha3 [182, 4] (w:1, o:191, a:1, s:1, b:1),
% 21.12/21.52 alpha4 [183, 7] (w:1, o:234, a:1, s:1, b:1),
% 21.12/21.52 alpha5 [184, 6] (w:1, o:215, a:1, s:1, b:1),
% 21.12/21.52 alpha6 [185, 9] (w:1, o:249, a:1, s:1, b:1),
% 21.12/21.52 alpha7 [186, 4] (w:1, o:192, a:1, s:1, b:1),
% 21.12/21.52 alpha8 [187, 5] (w:1, o:206, a:1, s:1, b:1),
% 21.12/21.52 skol1 [188, 7] (w:1, o:235, a:1, s:1, b:1),
% 21.12/21.52 skol2 [189, 7] (w:1, o:237, a:1, s:1, b:1),
% 21.12/21.52 skol3 [190, 6] (w:1, o:218, a:1, s:1, b:1),
% 21.12/21.52 skol4 [191, 6] (w:1, o:222, a:1, s:1, b:1),
% 21.12/21.52 skol5 [192, 5] (w:1, o:209, a:1, s:1, b:1),
% 21.12/21.52 skol6 [193, 5] (w:1, o:212, a:1, s:1, b:1),
% 21.12/21.52 skol7 [194, 4] (w:1, o:193, a:1, s:1, b:1),
% 21.12/21.52 skol8 [195, 4] (w:1, o:194, a:1, s:1, b:1),
% 21.12/21.52 skol9 [196, 3] (w:1, o:179, a:1, s:1, b:1),
% 21.12/21.52 skol10 [197, 3] (w:1, o:180, a:1, s:1, b:1),
% 21.12/21.52 skol11 [198, 3] (w:1, o:181, a:1, s:1, b:1),
% 21.12/21.52 skol12 [199, 3] (w:1, o:182, a:1, s:1, b:1),
% 21.12/21.52 skol13 [200, 6] (w:1, o:223, a:1, s:1, b:1),
% 21.12/21.52 skol14 [201, 6] (w:1, o:224, a:1, s:1, b:1),
% 21.12/21.52 skol15 [202, 6] (w:1, o:225, a:1, s:1, b:1),
% 21.12/21.52 skol16 [203, 7] (w:1, o:236, a:1, s:1, b:1),
% 21.12/21.52 skol17 [204, 4] (w:1, o:195, a:1, s:1, b:1),
% 21.12/21.52 skol18 [205, 4] (w:1, o:196, a:1, s:1, b:1),
% 21.12/21.52 skol19 [206, 4] (w:1, o:197, a:1, s:1, b:1),
% 21.12/21.52 skol20 [207, 4] (w:1, o:198, a:1, s:1, b:1),
% 21.12/21.52 skol21 [208, 4] (w:1, o:199, a:1, s:1, b:1),
% 21.12/21.52 skol22 [209, 7] (w:1, o:238, a:1, s:1, b:1),
% 21.12/21.52 skol23 [210, 7] (w:1, o:239, a:1, s:1, b:1),
% 21.12/21.52 skol24 [211, 6] (w:1, o:216, a:1, s:1, b:1),
% 21.12/21.52 skol25 [212, 6] (w:1, o:217, a:1, s:1, b:1),
% 21.12/21.52 skol26 [213, 5] (w:1, o:213, a:1, s:1, b:1),
% 21.12/21.52 skol27 [214, 5] (w:1, o:214, a:1, s:1, b:1),
% 21.12/21.52 skol28 [215, 4] (w:1, o:200, a:1, s:1, b:1),
% 21.12/21.52 skol29 [216, 4] Cputime limit exceeded (core dumped)
%------------------------------------------------------------------------------