%------------------------------------------------------------------------------
% File : DT2H2X---1.9.5
% Problem : ITP167^1 : TPTP v9.2.1. Released v7.5.0.
% Transfm : none
% Format : tptp:raw
% Command : /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% Computer : n022.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Wed Feb 25 08:56:05 AM UTC 2026
% Result : Theorem 2.93s 1.67s
% Output : Refutation 2.93s
% Verified :
% SZS Type : Refutation
% Derivation depth : 17
% Number of leaves : 8
% Syntax : Number of formulae : 73 ( 1 unt; 0 typ; 3 def)
% Number of atoms : 619 ( 110 equ; 0 cnn)
% Maximal formula atoms : 6 ( 8 avg)
% Number of connectives : 877 ( 83 ~; 85 |; 16 &; 676 @)
% ( 4 <=>; 12 =>; 0 <=; 1 <~>)
% Maximal formula depth : 15 ( 5 avg)
% Number of types : 14 ( 13 usr)
% Number of type conns : 224 ( 224 >; 0 *; 0 +; 0 <<)
% Number of symbols : 127 ( 124 usr; 9 con; 0-8 aty)
% Number of variables : 100 ( 0 ^; 100 !; 0 ?; 100 :)
% Comments :
%------------------------------------------------------------------------------
thf(type_def_5,type,
aexp: $tType ).
thf(type_def_6,type,
list_char: $tType ).
thf(type_def_7,type,
int: $tType ).
thf(type_def_9,type,
bexp: $tType ).
thf(type_def_10,type,
produc1260470173ar_int: $tType ).
thf(type_def_11,type,
com: $tType ).
thf(type_def_12,type,
nat: $tType ).
thf(type_def_13,type,
produc1166363805nt_com: $tType ).
thf(type_def_14,type,
set_nat: $tType ).
thf(type_def_15,type,
set_Pr866150653nt_com: $tType ).
thf(type_def_16,type,
set_Pr1148378109ar_int: $tType ).
thf(type_def_17,type,
set_o: $tType ).
thf(type_def_18,type,
set_set_nat: $tType ).
thf(func_def_0,type,
set_Pr1148378109ar_int: $tType ).
thf(func_def_1,type,
set_Pr866150653nt_com: $tType ).
thf(func_def_2,type,
produc1260470173ar_int: $tType ).
thf(func_def_3,type,
produc1166363805nt_com: $tType ).
thf(func_def_4,type,
set_set_nat: $tType ).
thf(func_def_5,type,
list_char: $tType ).
thf(func_def_6,type,
set_nat: $tType ).
thf(func_def_7,type,
set_o: $tType ).
thf(func_def_8,type,
bexp: $tType ).
thf(func_def_9,type,
aexp: $tType ).
thf(func_def_10,type,
nat: $tType ).
thf(func_def_11,type,
int: $tType ).
thf(func_def_12,type,
com: $tType ).
thf(func_def_13,type,
aval: aexp > ( list_char > int ) > int ).
thf(func_def_14,type,
bval: bexp > ( list_char > int ) > $o ).
thf(func_def_15,type,
big_big_step: produc1260470173ar_int > ( list_char > int ) > $o ).
thf(func_def_16,type,
assign: list_char > aexp > com ).
thf(func_def_17,type,
if: bexp > com > com > com ).
thf(func_def_18,type,
skip: com ).
thf(func_def_19,type,
seq: com > com > com ).
thf(func_def_20,type,
while: bexp > com > com ).
thf(func_def_21,type,
size_com: com > nat ).
thf(func_def_22,type,
fun_up103088396ar_int: ( list_char > int ) > list_char > int > list_char > int ).
thf(func_def_23,type,
plus_plus_nat: nat > nat > nat ).
thf(func_def_24,type,
zero_zero_nat: nat ).
thf(func_def_25,type,
if_int: $o > int > int > int ).
thf(func_def_26,type,
suc: nat > nat ).
thf(func_def_27,type,
size_size_com: com > nat ).
thf(func_def_28,type,
produc1139835093nt_com: ( list_char > int ) > com > produc1166363805nt_com ).
thf(func_def_29,type,
produc1193801173ar_int: com > ( list_char > int ) > produc1260470173ar_int ).
thf(func_def_30,type,
produc1803493327_com_o: ( produc1166363805nt_com > $o ) > ( list_char > int ) > com > $o ).
thf(func_def_31,type,
produc1858366159_int_o: ( produc1260470173ar_int > $o ) > com > ( list_char > int ) > $o ).
thf(func_def_32,type,
produc763543641nt_nat: ( produc1260470173ar_int > nat ) > com > ( list_char > int ) > nat ).
thf(func_def_33,type,
produc804153044ar_int: ( produc1260470173ar_int > produc1260470173ar_int ) > com > ( list_char > int ) > produc1260470173ar_int ).
thf(func_def_34,type,
produc1791150095et_nat: ( produc1260470173ar_int > set_nat ) > com > ( list_char > int ) > set_nat ).
thf(func_def_35,type,
produc9062872_int_o: ( com > ( list_char > int ) > $o ) > produc1260470173ar_int > $o ).
thf(func_def_36,type,
produc641693072nt_nat: ( com > ( list_char > int ) > nat ) > produc1260470173ar_int > nat ).
thf(func_def_37,type,
produc837840349ar_int: ( com > ( list_char > int ) > produc1260470173ar_int ) > produc1260470173ar_int > produc1260470173ar_int ).
thf(func_def_38,type,
produc857153862et_nat: ( com > ( list_char > int ) > set_nat ) > produc1260470173ar_int > set_nat ).
thf(func_def_39,type,
produc613711406_com_o: ( ( list_char > int ) > com > $o ) > produc1166363805nt_com > $o ).
thf(func_def_40,type,
produc1263502010om_nat: ( ( list_char > int ) > com > nat ) > produc1166363805nt_com > nat ).
thf(func_def_41,type,
produc1676975923nt_com: ( ( list_char > int ) > com > produc1166363805nt_com ) > produc1166363805nt_com > produc1166363805nt_com ).
thf(func_def_42,type,
produc1771082291ar_int: ( ( list_char > int ) > com > produc1260470173ar_int ) > produc1166363805nt_com > produc1260470173ar_int ).
thf(func_def_43,type,
produc1754105456et_nat: ( ( list_char > int ) > com > set_nat ) > produc1166363805nt_com > set_nat ).
thf(func_def_44,type,
produc1179280275nt_com: ( ( list_char > int ) > com > set_Pr866150653nt_com ) > produc1166363805nt_com > set_Pr866150653nt_com ).
thf(func_def_45,type,
produc1461507731ar_int: ( ( list_char > int ) > com > set_Pr1148378109ar_int ) > produc1166363805nt_com > set_Pr1148378109ar_int ).
thf(func_def_46,type,
produc668584238_int_o: ( com > ( list_char > int ) > $o ) > produc1260470173ar_int > $o ).
thf(func_def_47,type,
produc1311963066nt_nat: ( com > ( list_char > int ) > nat ) > produc1260470173ar_int > nat ).
thf(func_def_48,type,
produc1194453555nt_com: ( com > ( list_char > int ) > produc1166363805nt_com ) > produc1260470173ar_int > produc1166363805nt_com ).
thf(func_def_49,type,
produc1288559923ar_int: ( com > ( list_char > int ) > produc1260470173ar_int ) > produc1260470173ar_int > produc1260470173ar_int ).
thf(func_def_50,type,
produc991755120et_nat: ( com > ( list_char > int ) > set_nat ) > produc1260470173ar_int > set_nat ).
thf(func_def_51,type,
produc1994108563nt_com: ( com > ( list_char > int ) > set_Pr866150653nt_com ) > produc1260470173ar_int > set_Pr866150653nt_com ).
thf(func_def_52,type,
produc128852371ar_int: ( com > ( list_char > int ) > set_Pr1148378109ar_int ) > produc1260470173ar_int > set_Pr1148378109ar_int ).
thf(func_def_53,type,
produc1716235893nt_com: produc1166363805nt_com > produc1260470173ar_int ).
thf(func_def_54,type,
produc1770201973ar_int: produc1260470173ar_int > produc1166363805nt_com ).
thf(func_def_55,type,
relati1310524937decomp: ( ( list_char > int ) > ( list_char > int ) > $o ) > com > com > ( ( list_char > int ) > ( list_char > int ) > $o ) > ( list_char > int ) > ( list_char > int ) > $o ).
thf(func_def_56,type,
relati186416454e_flip: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( list_char > int ) > ( list_char > int ) > $o ).
thf(func_def_57,type,
relati23543761ar_int: ( ( list_char > int ) > ( list_char > int ) > $o ) > bexp > com > nat > ( list_char > int ) > ( list_char > int ) > $o ).
thf(func_def_58,type,
relati2102071307_hoare: ( ( list_char > int ) > ( list_char > int ) > $o ) > com > com > ( ( list_char > int ) > ( list_char > int ) > $o ) > $o ).
thf(func_def_59,type,
relati775585786_valid: ( ( list_char > int ) > ( list_char > int ) > $o ) > com > com > ( ( list_char > int ) > ( list_char > int ) > $o ) > $o ).
thf(func_def_60,type,
collect_nat: ( nat > $o ) > set_nat ).
thf(func_def_61,type,
collec676690312nt_com: ( produc1166363805nt_com > $o ) > set_Pr866150653nt_com ).
thf(func_def_62,type,
collec770796680ar_int: ( produc1260470173ar_int > $o ) > set_Pr1148378109ar_int ).
thf(func_def_63,type,
image_nat_nat: ( nat > nat ) > set_nat > set_nat ).
thf(func_def_64,type,
image_244615942nt_com: ( nat > produc1166363805nt_com ) > set_nat > set_Pr866150653nt_com ).
thf(func_def_65,type,
image_338722310ar_int: ( nat > produc1260470173ar_int ) > set_nat > set_Pr1148378109ar_int ).
thf(func_def_66,type,
image_596692520om_nat: ( produc1166363805nt_com > nat ) > set_Pr866150653nt_com > set_nat ).
thf(func_def_67,type,
image_1874758725nt_com: ( produc1166363805nt_com > produc1166363805nt_com ) > set_Pr866150653nt_com > set_Pr866150653nt_com ).
thf(func_def_68,type,
image_1968865093ar_int: ( produc1166363805nt_com > produc1260470173ar_int ) > set_Pr866150653nt_com > set_Pr1148378109ar_int ).
thf(func_def_69,type,
image_522938432_int_o: ( produc1260470173ar_int > $o ) > set_Pr1148378109ar_int > set_o ).
thf(func_def_70,type,
image_1742782760nt_nat: ( produc1260470173ar_int > nat ) > set_Pr1148378109ar_int > set_nat ).
thf(func_def_71,type,
image_786684229nt_com: ( produc1260470173ar_int > produc1166363805nt_com ) > set_Pr1148378109ar_int > set_Pr866150653nt_com ).
thf(func_def_72,type,
image_880790597ar_int: ( produc1260470173ar_int > produc1260470173ar_int ) > set_Pr1148378109ar_int > set_Pr1148378109ar_int ).
thf(func_def_73,type,
image_989727966et_nat: ( produc1260470173ar_int > set_nat ) > set_Pr1148378109ar_int > set_set_nat ).
thf(func_def_74,type,
member_o: $o > set_o > $o ).
thf(func_def_75,type,
member_nat: nat > set_nat > $o ).
thf(func_def_76,type,
member2145628230nt_com: produc1166363805nt_com > set_Pr866150653nt_com > $o ).
thf(func_def_77,type,
member92250950ar_int: produc1260470173ar_int > set_Pr1148378109ar_int > $o ).
thf(func_def_78,type,
member_set_nat: set_nat > set_set_nat > $o ).
thf(func_def_79,type,
p: ( list_char > int ) > ( list_char > int ) > $o ).
thf(func_def_80,type,
q: ( list_char > int ) > ( list_char > int ) > $o ).
thf(func_def_81,type,
c: com ).
thf(func_def_82,type,
c2: com ).
thf(func_def_102,type,
sP0: ( nat > ( list_char > int ) > ( list_char > int ) > $o ) > nat > bexp > com > ( list_char > int ) > com > ( list_char > int ) > $o ).
thf(func_def_103,type,
sK1: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_104,type,
sK2: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_105,type,
sK3: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_106,type,
sK4: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_107,type,
sK5: com > com > list_char > int ).
thf(func_def_108,type,
sK6: com > com > list_char > int ).
thf(func_def_109,type,
sK7: com > com > list_char > int ).
thf(func_def_110,type,
sK8: com > com > list_char > int ).
thf(func_def_111,type,
sK9: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_112,type,
sK10: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_113,type,
sK11: ( nat > ( list_char > int ) > ( list_char > int ) > $o ) > nat > bexp > com > ( list_char > int ) > com > ( list_char > int ) > list_char > int ).
thf(func_def_114,type,
sK12: ( nat > ( list_char > int ) > ( list_char > int ) > $o ) > nat > bexp > com > ( list_char > int ) > com > ( list_char > int ) > list_char > int ).
thf(func_def_115,type,
sK13: com > com > ( nat > ( list_char > int ) > ( list_char > int ) > $o ) > bexp > ( ( list_char > int ) > ( list_char > int ) > $o ) > nat > list_char > int ).
thf(func_def_116,type,
sK14: com > com > ( nat > ( list_char > int ) > ( list_char > int ) > $o ) > bexp > ( ( list_char > int ) > ( list_char > int ) > $o ) > nat > list_char > int ).
thf(func_def_117,type,
sK15: com > ( nat > ( list_char > int ) > ( list_char > int ) > $o ) > bexp > nat > nat ).
thf(func_def_118,type,
sK16: com > ( nat > ( list_char > int ) > ( list_char > int ) > $o ) > bexp > nat > list_char > int ).
thf(func_def_119,type,
sK17: com > ( nat > ( list_char > int ) > ( list_char > int ) > $o ) > bexp > nat > list_char > int ).
thf(func_def_120,type,
sK18: ( produc1260470173ar_int > $o ) > com ).
thf(func_def_121,type,
sK19: ( produc1260470173ar_int > $o ) > list_char > int ).
thf(func_def_122,type,
sK20: ( list_char > int ) > com > ( list_char > int ) > com > list_char > int ).
thf(func_def_123,type,
sK21: com > com > list_char > int ).
thf(func_def_124,type,
sK22: com > com > list_char > int ).
thf(func_def_125,type,
sK23: com > ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_126,type,
sK24: com > ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_127,type,
sK25: com > com > list_char > int ).
thf(func_def_128,type,
sK26: com > com > list_char > int ).
thf(func_def_129,type,
sK27: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_130,type,
sK28: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_131,type,
sK29: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_132,type,
sK30: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_133,type,
sK31: produc1260470173ar_int > list_char > int ).
thf(func_def_134,type,
sK32: produc1260470173ar_int > com ).
thf(func_def_135,type,
sK33: com > com > list_char > int ).
thf(func_def_136,type,
sK34: com > com > list_char > int ).
thf(func_def_137,type,
sK35: com > com > list_char > int ).
thf(func_def_138,type,
sK36: com > com > list_char > int ).
thf(func_def_139,type,
sK37: produc1260470173ar_int > list_char > int ).
thf(func_def_140,type,
sK38: produc1260470173ar_int > com ).
thf(func_def_141,type,
sK39: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > com > list_char > int ).
thf(func_def_142,type,
sK40: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > com > list_char > int ).
thf(func_def_143,type,
sK41: ( list_char > int ) > bexp > ( list_char > int ) > com > list_char > int ).
thf(func_def_144,type,
sK42: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_145,type,
sK43: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_146,type,
sK44: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_147,type,
sK45: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_148,type,
sK46: ( produc1260470173ar_int > $o ) > com ).
thf(func_def_149,type,
sK47: ( produc1260470173ar_int > $o ) > list_char > int ).
thf(func_def_150,type,
sK48: com > ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_151,type,
sK49: com > ( ( list_char > int ) > ( list_char > int ) > $o ) > ( ( list_char > int ) > ( list_char > int ) > $o ) > list_char > int ).
thf(func_def_153,type,
ph51:
!>[X0: $tType] : X0 ).
thf(f1194,plain,
$false,
inference(avatar_sat_refutation,[status(thm)],[f1133,f1138,f1139,f1165,f1179,f1193]) ).
thf(f1193,plain,
( ~ spl50_1
| spl50_3 ),
inference(avatar_contradiction_clause,[status(thm)],[f1192]) ).
thf(f1192,plain,
( $false
| ~ spl50_1
| spl50_3 ),
inference(subsumption_resolution,[status(thm)],[f1190,f1128]) ).
thf(f1128,plain,
( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
= $true )
| ~ spl50_1 ),
inference(avatar_component_clause,[status(thm)],[f1126]) ).
thf(f1126,definition,
( spl50_1
<=> ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
= $true ) ),
introduced(definition,[new_symbols(naming,[spl50_1])],[avatar_definition]) ).
thf(f1190,plain,
( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
!= $true )
| spl50_3 ),
inference(trivial_inequality_removal,[status(thm)],[f1188]) ).
thf(f1188,plain,
( ( $true != $true )
| ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
!= $true )
| spl50_3 ),
inference(superposition,[status(thm)],[f1185,f1049]) ).
thf(f1049,plain,
! [X2: ( list_char > int ) > ( list_char > int ) > $o,X3: com,X0: ( list_char > int ) > ( list_char > int ) > $o,X1: com] :
( ( $true
= ( relati775585786_valid @ X2 @ X1 @ X3 @ X0 ) )
| ( ( relati2102071307_hoare @ X2 @ X1 @ X3 @ X0 )
!= $true ) ),
inference(cnf_transformation,[status(thm)],[f916]) ).
thf(f916,plain,
! [X0: ( list_char > int ) > ( list_char > int ) > $o,X1: com,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: com] :
( ( ( relati2102071307_hoare @ X2 @ X1 @ X3 @ X0 )
!= $true )
| ( $true
= ( relati775585786_valid @ X2 @ X1 @ X3 @ X0 ) ) ),
inference(ennf_transformation,[status(thm)],[f709]) ).
thf(f709,plain,
! [X0: ( list_char > int ) > ( list_char > int ) > $o,X1: com,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: com] :
( ( ( relati2102071307_hoare @ X2 @ X1 @ X3 @ X0 )
= $true )
=> ( $true
= ( relati775585786_valid @ X2 @ X1 @ X3 @ X0 ) ) ),
inference(fool_elimination,[status(thm)],[f708]) ).
thf(f708,plain,
! [X0: ( list_char > int ) > ( list_char > int ) > $o,X1: com,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: com] :
( ( relati2102071307_hoare @ X2 @ X1 @ X3 @ X0 )
=> ( relati775585786_valid @ X2 @ X1 @ X3 @ X0 ) ),
inference(rectify,[status(thm)],[f1]) ).
thf(f1,axiom,
! [X3: ( list_char > int ) > ( list_char > int ) > $o,X1: com,X0: ( list_char > int ) > ( list_char > int ) > $o,X2: com] :
( ( relati2102071307_hoare @ X0 @ X1 @ X2 @ X3 )
=> ( relati775585786_valid @ X0 @ X1 @ X2 @ X3 ) ),
file('/export/starexec/sandbox2/tmp/tmp.wyCdcgzg4L/DTF2THF_3095.p',fact_0_soundness) ).
thf(f1185,plain,
( ( $true
!= ( relati775585786_valid @ p @ c @ c2 @ q ) )
| spl50_3 ),
inference(trivial_inequality_removal,[status(thm)],[f1182]) ).
thf(f1182,plain,
( ( $true != $true )
| ( $true
!= ( relati775585786_valid @ p @ c @ c2 @ q ) )
| spl50_3 ),
inference(superposition,[status(thm)],[f1181,f1013]) ).
thf(f1013,plain,
! [X2: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o,X0: com,X1: com] :
( ( $true
= ( relati775585786_valid @ X2 @ X0 @ skip @ ( relati1310524937decomp @ X2 @ X0 @ X1 @ X3 ) ) )
| ( ( relati775585786_valid @ X2 @ X0 @ X1 @ X3 )
!= $true ) ),
inference(cnf_transformation,[status(thm)],[f888]) ).
thf(f888,plain,
! [X0: com,X1: com,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o] :
( ( ( relati775585786_valid @ X2 @ X0 @ X1 @ X3 )
!= $true )
| ( ( $true
= ( relati775585786_valid @ X2 @ X0 @ skip @ ( relati1310524937decomp @ X2 @ X0 @ X1 @ X3 ) ) )
& ( $true
= ( relati775585786_valid @ ( relati1310524937decomp @ X2 @ X0 @ X1 @ X3 ) @ skip @ X1 @ X3 ) ) ) ),
inference(ennf_transformation,[status(thm)],[f797]) ).
thf(f797,plain,
! [X0: com,X1: com,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o] :
( ( ( relati775585786_valid @ X2 @ X0 @ X1 @ X3 )
= $true )
=> ( ( $true
= ( relati775585786_valid @ X2 @ X0 @ skip @ ( relati1310524937decomp @ X2 @ X0 @ X1 @ X3 ) ) )
& ( $true
= ( relati775585786_valid @ ( relati1310524937decomp @ X2 @ X0 @ X1 @ X3 ) @ skip @ X1 @ X3 ) ) ) ),
inference(fool_elimination,[status(thm)],[f796]) ).
thf(f796,plain,
! [X0: com,X1: com,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o] :
( ( relati775585786_valid @ X2 @ X0 @ X1 @ X3 )
=> ( ( relati775585786_valid @ ( relati1310524937decomp @ X2 @ X0 @ X1 @ X3 ) @ skip @ X1 @ X3 )
& ( relati775585786_valid @ X2 @ X0 @ skip @ ( relati1310524937decomp @ X2 @ X0 @ X1 @ X3 ) ) ) ),
inference(rectify,[status(thm)],[f9]) ).
thf(f9,axiom,
! [X1: com,X2: com,X0: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o] :
( ( relati775585786_valid @ X0 @ X1 @ X2 @ X3 )
=> ( ( relati775585786_valid @ ( relati1310524937decomp @ X0 @ X1 @ X2 @ X3 ) @ skip @ X2 @ X3 )
& ( relati775585786_valid @ X0 @ X1 @ skip @ ( relati1310524937decomp @ X0 @ X1 @ X2 @ X3 ) ) ) ),
file('/export/starexec/sandbox2/tmp/tmp.wyCdcgzg4L/DTF2THF_3095.p',fact_8_ir__valid__decomp1) ).
thf(f1181,plain,
( ( $true
!= ( relati775585786_valid @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) ) )
| spl50_3 ),
inference(trivial_inequality_removal,[status(thm)],[f1180]) ).
thf(f1180,plain,
( ( $true != $true )
| ( $true
!= ( relati775585786_valid @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) ) )
| spl50_3 ),
inference(superposition,[status(thm)],[f1136,f1109]) ).
thf(f1109,plain,
! [X2: ( list_char > int ) > ( list_char > int ) > $o,X3: com,X0: com,X1: ( list_char > int ) > ( list_char > int ) > $o] :
( ( $true
= ( relati2102071307_hoare @ X1 @ X3 @ X0 @ X2 ) )
| ( $true
!= ( relati775585786_valid @ X1 @ X3 @ X0 @ X2 ) ) ),
inference(cnf_transformation,[status(thm)],[f902]) ).
thf(f902,plain,
! [X0: com,X1: ( list_char > int ) > ( list_char > int ) > $o,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: com] :
( ( $true
= ( relati2102071307_hoare @ X1 @ X3 @ X0 @ X2 ) )
| ( $true
!= ( relati775585786_valid @ X1 @ X3 @ X0 @ X2 ) ) ),
inference(ennf_transformation,[status(thm)],[f594]) ).
thf(f594,plain,
! [X0: com,X1: ( list_char > int ) > ( list_char > int ) > $o,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: com] :
( ( $true
= ( relati775585786_valid @ X1 @ X3 @ X0 @ X2 ) )
=> ( $true
= ( relati2102071307_hoare @ X1 @ X3 @ X0 @ X2 ) ) ),
inference(fool_elimination,[status(thm)],[f593]) ).
thf(f593,plain,
! [X0: com,X1: ( list_char > int ) > ( list_char > int ) > $o,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: com] :
( ( relati775585786_valid @ X1 @ X3 @ X0 @ X2 )
=> ( relati2102071307_hoare @ X1 @ X3 @ X0 @ X2 ) ),
inference(rectify,[status(thm)],[f2]) ).
thf(f2,axiom,
! [X2: com,X0: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o,X1: com] :
( ( relati775585786_valid @ X0 @ X1 @ X2 @ X3 )
=> ( relati2102071307_hoare @ X0 @ X1 @ X2 @ X3 ) ),
file('/export/starexec/sandbox2/tmp/tmp.wyCdcgzg4L/DTF2THF_3095.p',fact_1_completeness) ).
thf(f1136,plain,
( ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
!= $true )
| spl50_3 ),
inference(avatar_component_clause,[status(thm)],[f1135]) ).
thf(f1135,definition,
( spl50_3
<=> ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
= $true ) ),
introduced(definition,[new_symbols(naming,[spl50_3])],[avatar_definition]) ).
thf(f1179,plain,
( ~ spl50_1
| spl50_2 ),
inference(avatar_contradiction_clause,[status(thm)],[f1178]) ).
thf(f1178,plain,
( $false
| ~ spl50_1
| spl50_2 ),
inference(subsumption_resolution,[status(thm)],[f1177,f1128]) ).
thf(f1177,plain,
( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
!= $true )
| spl50_2 ),
inference(trivial_inequality_removal,[status(thm)],[f1174]) ).
thf(f1174,plain,
( ( $true != $true )
| ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
!= $true )
| spl50_2 ),
inference(superposition,[status(thm)],[f1171,f1049]) ).
thf(f1171,plain,
( ( $true
!= ( relati775585786_valid @ p @ c @ c2 @ q ) )
| spl50_2 ),
inference(trivial_inequality_removal,[status(thm)],[f1168]) ).
thf(f1168,plain,
( ( $true
!= ( relati775585786_valid @ p @ c @ c2 @ q ) )
| ( $true != $true )
| spl50_2 ),
inference(superposition,[status(thm)],[f1167,f1012]) ).
thf(f1012,plain,
! [X2: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o,X0: com,X1: com] :
( ( $true
= ( relati775585786_valid @ ( relati1310524937decomp @ X2 @ X0 @ X1 @ X3 ) @ skip @ X1 @ X3 ) )
| ( ( relati775585786_valid @ X2 @ X0 @ X1 @ X3 )
!= $true ) ),
inference(cnf_transformation,[status(thm)],[f888]) ).
thf(f1167,plain,
( ( $true
!= ( relati775585786_valid @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q ) )
| spl50_2 ),
inference(trivial_inequality_removal,[status(thm)],[f1166]) ).
thf(f1166,plain,
( ( $true
!= ( relati775585786_valid @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q ) )
| ( $true != $true )
| spl50_2 ),
inference(superposition,[status(thm)],[f1131,f1109]) ).
thf(f1131,plain,
( ( ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q )
!= $true )
| spl50_2 ),
inference(avatar_component_clause,[status(thm)],[f1130]) ).
thf(f1130,definition,
( spl50_2
<=> ( ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q )
= $true ) ),
introduced(definition,[new_symbols(naming,[spl50_2])],[avatar_definition]) ).
thf(f1165,plain,
( spl50_1
| ~ spl50_2
| ~ spl50_3 ),
inference(avatar_contradiction_clause,[status(thm)],[f1164]) ).
thf(f1164,plain,
( $false
| spl50_1
| ~ spl50_2
| ~ spl50_3 ),
inference(subsumption_resolution,[status(thm)],[f1162,f1137]) ).
thf(f1137,plain,
( ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
= $true )
| ~ spl50_3 ),
inference(avatar_component_clause,[status(thm)],[f1135]) ).
thf(f1162,plain,
( ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
!= $true )
| spl50_1
| ~ spl50_2 ),
inference(trivial_inequality_removal,[status(thm)],[f1160]) ).
thf(f1160,plain,
( ( $true != $true )
| ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
!= $true )
| spl50_1
| ~ spl50_2 ),
inference(superposition,[status(thm)],[f1159,f1132]) ).
thf(f1132,plain,
( ( ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q )
= $true )
| ~ spl50_2 ),
inference(avatar_component_clause,[status(thm)],[f1130]) ).
thf(f1159,plain,
( ! [X0: ( list_char > int ) > ( list_char > int ) > $o] :
( ( $true
!= ( relati2102071307_hoare @ X0 @ skip @ c2 @ q ) )
| ( ( relati2102071307_hoare @ p @ c @ skip @ X0 )
!= $true ) )
| spl50_1 ),
inference(trivial_inequality_removal,[status(thm)],[f1155]) ).
thf(f1155,plain,
( ! [X0: ( list_char > int ) > ( list_char > int ) > $o] :
( ( $true
!= ( relati2102071307_hoare @ X0 @ skip @ c2 @ q ) )
| ( $true != $true )
| ( ( relati2102071307_hoare @ p @ c @ skip @ X0 )
!= $true ) )
| spl50_1 ),
inference(superposition,[status(thm)],[f1151,f1049]) ).
thf(f1151,plain,
( ! [X0: ( list_char > int ) > ( list_char > int ) > $o] :
( ( ( relati775585786_valid @ X0 @ skip @ c2 @ q )
!= $true )
| ( ( relati2102071307_hoare @ p @ c @ skip @ X0 )
!= $true ) )
| spl50_1 ),
inference(trivial_inequality_removal,[status(thm)],[f1148]) ).
thf(f1148,plain,
( ! [X0: ( list_char > int ) > ( list_char > int ) > $o] :
( ( $true != $true )
| ( ( relati775585786_valid @ X0 @ skip @ c2 @ q )
!= $true )
| ( ( relati2102071307_hoare @ p @ c @ skip @ X0 )
!= $true ) )
| spl50_1 ),
inference(superposition,[status(thm)],[f1144,f1049]) ).
thf(f1144,plain,
( ! [X0: ( list_char > int ) > ( list_char > int ) > $o] :
( ( $true
!= ( relati775585786_valid @ p @ c @ skip @ X0 ) )
| ( ( relati775585786_valid @ X0 @ skip @ c2 @ q )
!= $true ) )
| spl50_1 ),
inference(trivial_inequality_removal,[status(thm)],[f1143]) ).
thf(f1143,plain,
( ! [X0: ( list_char > int ) > ( list_char > int ) > $o] :
( ( ( relati775585786_valid @ X0 @ skip @ c2 @ q )
!= $true )
| ( $true != $true )
| ( $true
!= ( relati775585786_valid @ p @ c @ skip @ X0 ) ) )
| spl50_1 ),
inference(superposition,[status(thm)],[f1141,f1068]) ).
thf(f1068,plain,
! [X2: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o,X0: com,X1: ( list_char > int ) > ( list_char > int ) > $o,X4: com] :
( ( $true
= ( relati775585786_valid @ X3 @ X4 @ X0 @ X1 ) )
| ( ( relati775585786_valid @ X3 @ X4 @ skip @ X2 )
!= $true )
| ( $true
!= ( relati775585786_valid @ X2 @ skip @ X0 @ X1 ) ) ),
inference(cnf_transformation,[status(thm)],[f905]) ).
thf(f905,plain,
! [X0: com,X1: ( list_char > int ) > ( list_char > int ) > $o,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o,X4: com] :
( ( $true
!= ( relati775585786_valid @ X2 @ skip @ X0 @ X1 ) )
| ( ( relati775585786_valid @ X3 @ X4 @ skip @ X2 )
!= $true )
| ( $true
= ( relati775585786_valid @ X3 @ X4 @ X0 @ X1 ) ) ),
inference(flattening,[status(thm)],[f904]) ).
thf(f904,plain,
! [X0: com,X1: ( list_char > int ) > ( list_char > int ) > $o,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o,X4: com] :
( ( $true
= ( relati775585786_valid @ X3 @ X4 @ X0 @ X1 ) )
| ( ( relati775585786_valid @ X3 @ X4 @ skip @ X2 )
!= $true )
| ( $true
!= ( relati775585786_valid @ X2 @ skip @ X0 @ X1 ) ) ),
inference(ennf_transformation,[status(thm)],[f536]) ).
thf(f536,plain,
! [X0: com,X1: ( list_char > int ) > ( list_char > int ) > $o,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o,X4: com] :
( ( ( ( relati775585786_valid @ X3 @ X4 @ skip @ X2 )
= $true )
& ( $true
= ( relati775585786_valid @ X2 @ skip @ X0 @ X1 ) ) )
=> ( $true
= ( relati775585786_valid @ X3 @ X4 @ X0 @ X1 ) ) ),
inference(fool_elimination,[status(thm)],[f535]) ).
thf(f535,plain,
! [X0: com,X1: ( list_char > int ) > ( list_char > int ) > $o,X2: ( list_char > int ) > ( list_char > int ) > $o,X3: ( list_char > int ) > ( list_char > int ) > $o,X4: com] :
( ( ( relati775585786_valid @ X2 @ skip @ X0 @ X1 )
& ( relati775585786_valid @ X3 @ X4 @ skip @ X2 ) )
=> ( relati775585786_valid @ X3 @ X4 @ X0 @ X1 ) ),
inference(rectify,[status(thm)],[f10]) ).
thf(f10,axiom,
! [X2: com,X3: ( list_char > int ) > ( list_char > int ) > $o,X14: ( list_char > int ) > ( list_char > int ) > $o,X0: ( list_char > int ) > ( list_char > int ) > $o,X1: com] :
( ( ( relati775585786_valid @ X14 @ skip @ X2 @ X3 )
& ( relati775585786_valid @ X0 @ X1 @ skip @ X14 ) )
=> ( relati775585786_valid @ X0 @ X1 @ X2 @ X3 ) ),
file('/export/starexec/sandbox2/tmp/tmp.wyCdcgzg4L/DTF2THF_3095.p',fact_9_ir__valid__decomp2) ).
thf(f1141,plain,
( ( $true
!= ( relati775585786_valid @ p @ c @ c2 @ q ) )
| spl50_1 ),
inference(trivial_inequality_removal,[status(thm)],[f1140]) ).
thf(f1140,plain,
( ( $true
!= ( relati775585786_valid @ p @ c @ c2 @ q ) )
| ( $true != $true )
| spl50_1 ),
inference(superposition,[status(thm)],[f1127,f1109]) ).
thf(f1127,plain,
( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
!= $true )
| spl50_1 ),
inference(avatar_component_clause,[status(thm)],[f1126]) ).
thf(f1139,plain,
( ~ spl50_3
| ~ spl50_2
| ~ spl50_1 ),
inference(avatar_split_clause,[status(thm)],[f1073,f1126,f1130,f1135]) ).
thf(f1073,plain,
( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
!= $true )
| ( ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q )
!= $true )
| ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
!= $true ) ),
inference(cnf_transformation,[status(thm)],[f986]) ).
thf(f986,plain,
( ( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
!= $true )
| ( ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q )
!= $true )
| ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
!= $true ) )
& ( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
= $true )
| ( ( ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q )
= $true )
& ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
= $true ) ) ) ),
inference(flattening,[status(thm)],[f985]) ).
thf(f985,plain,
( ( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
!= $true )
| ( ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q )
!= $true )
| ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
!= $true ) )
& ( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
= $true )
| ( ( ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q )
= $true )
& ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
= $true ) ) ) ),
inference(nnf_transformation,[status(thm)],[f927]) ).
thf(f927,plain,
( ( ( ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q )
= $true )
& ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
= $true ) )
<~> ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
= $true ) ),
inference(ennf_transformation,[status(thm)],[f649]) ).
thf(f649,plain,
~ ( ( ( ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q )
= $true )
& ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
= $true ) )
<=> ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
= $true ) ),
inference(fool_elimination,[status(thm)],[f648]) ).
thf(f648,plain,
~ ( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
= ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) ) )
& ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q ) ),
inference(rectify,[status(thm)],[f357]) ).
thf(f357,negated_conjecture,
~ ( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
= ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) ) )
& ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q ) ),
inference(negated_conjecture,[status(cth)],[f356]) ).
thf(f356,conjecture,
( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
= ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) ) )
& ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q ) ),
file('/export/starexec/sandbox2/tmp/tmp.wyCdcgzg4L/DTF2THF_3095.p',conj_0) ).
thf(f1138,plain,
( spl50_3
| spl50_1 ),
inference(avatar_split_clause,[status(thm)],[f1071,f1126,f1135]) ).
thf(f1071,plain,
( ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
= $true )
| ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
= $true ) ),
inference(cnf_transformation,[status(thm)],[f986]) ).
thf(f1133,plain,
( spl50_1
| spl50_2 ),
inference(avatar_split_clause,[status(thm)],[f1072,f1130,f1126]) ).
thf(f1072,plain,
( ( ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q )
= $true )
| ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
= $true ) ),
inference(cnf_transformation,[status(thm)],[f986]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : ITP167^1 : TPTP v9.2.1. Released v7.5.0.
% 0.00/0.13 % Command : /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.15/0.33 % Computer : n022.cluster.edu
% 0.15/0.33 % Model : x86_64 x86_64
% 0.15/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.33 % Memory : 8042.1875MB
% 0.15/0.33 % OS : Linux 3.10.0-693.el7.x86_64
% 0.15/0.34 % CPULimit : 300
% 0.15/0.34 % WCLimit : 300
% 0.15/0.34 % DateTime : Tue Feb 24 08:29:21 EST 2026
% 0.15/0.34 % CPUTime :
% 0.15/0.34 Running /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.25/0.46 ---- Original DTF file ---
% 0.25/0.46 thf(spec,logic,$$dhol).
% 0.25/0.46 %------------------------------------------------------------------------------
% 0.25/0.46 % File : ITP167^1 : TPTP v9.2.1. Released v7.5.0.
% 0.25/0.46 % Domain : Interactive Theorem Proving
% 0.25/0.46 % Problem : Sledgehammer RelationalIncorrectness problem prob_411__5908974_1
% 0.25/0.46 % Version : Especial.
% 0.25/0.46 % English :
% 0.25/0.46
% 0.25/0.46 % Refs : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% 0.25/0.46 % : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% 0.25/0.46 % Source : [Des21]
% 0.25/0.46 % Names : RelationalIncorrectness/prob_411__5908974_1 [Des21]
% 0.25/0.46
% 0.25/0.46 % Status : Theorem
% 0.25/0.46 % Rating : 0.44 v9.1.0, 0.25 v9.0.0, 0.40 v8.2.0, 0.46 v8.1.0, 0.45 v7.5.0
% 0.25/0.46 % Syntax : Number of formulae : 439 ( 193 unt; 83 typ; 0 def)
% 0.25/0.46 % Number of atoms : 835 ( 374 equ; 0 cnn)
% 0.25/0.46 % Maximal formula atoms : 11 ( 2 avg)
% 0.25/0.46 % Number of connectives : 3436 ( 83 ~; 7 |; 119 &;2923 @)
% 0.25/0.46 % ( 0 <=>; 304 =>; 0 <=; 0 <~>)
% 0.25/0.46 % Maximal formula depth : 24 ( 7 avg)
% 0.25/0.46 % Number of types : 14 ( 13 usr)
% 0.25/0.46 % Number of type conns : 1385 (1385 >; 0 *; 0 +; 0 <<)
% 0.25/0.46 % Number of symbols : 73 ( 70 usr; 6 con; 0-6 aty)
% 0.25/0.46 % Number of variables : 1436 ( 181 ^;1199 !; 56 ?;1436 :)
% 0.25/0.46 % SPC : TH0_THM_EQU_NAR
% 0.25/0.46
% 0.25/0.46 % Comments : This file was generated by Sledgehammer 2021-02-23 15:34:05.867
% 0.25/0.46 %------------------------------------------------------------------------------
% 0.25/0.46 % Could-be-implicit typings (13)
% 0.25/0.46 thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_J,type,
% 0.25/0.46 set_Pr1148378109ar_int: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_J,type,
% 0.25/0.46 set_Pr866150653nt_com: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.25/0.46 produc1260470173ar_int: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.25/0.46 produc1166363805nt_com: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
% 0.25/0.46 set_set_nat: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__List__Olist_It__String__Ochar_J,type,
% 0.25/0.46 list_char: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
% 0.25/0.46 set_nat: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__Set__Oset_I_Eo_J,type,
% 0.25/0.46 set_o: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__BExp__Obexp,type,
% 0.25/0.46 bexp: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__AExp__Oaexp,type,
% 0.25/0.46 aexp: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__Nat__Onat,type,
% 0.25/0.46 nat: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__Int__Oint,type,
% 0.25/0.46 int: $tType ).
% 0.25/0.46
% 0.25/0.46 thf(ty_n_t__Com__Ocom,type,
% 0.25/0.46 com: $tType ).
% 0.25/0.46
% 0.25/0.46 % Explicit typings (70)
% 0.25/0.46 thf(sy_c_AExp_Oaval,type,
% 0.25/0.46 aval: aexp > ( list_char > int ) > int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_BExp_Obval,type,
% 0.25/0.46 bval: bexp > ( list_char > int ) > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Big__Step_Obig__step,type,
% 0.25/0.46 big_big_step: produc1260470173ar_int > ( list_char > int ) > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Com_Ocom_OAssign,type,
% 0.25/0.46 assign: list_char > aexp > com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Com_Ocom_OIf,type,
% 0.25/0.46 if: bexp > com > com > com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Com_Ocom_OSKIP,type,
% 0.25/0.46 skip: com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Com_Ocom_OSeq,type,
% 0.25/0.46 seq: com > com > com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Com_Ocom_OWhile,type,
% 0.25/0.46 while: bexp > com > com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Com_Ocom_Osize__com,type,
% 0.25/0.46 size_com: com > nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Fun_Ofun__upd_001t__List__Olist_It__String__Ochar_J_001t__Int__Oint,type,
% 0.25/0.46 fun_up103088396ar_int: ( list_char > int ) > list_char > int > list_char > int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat,type,
% 0.25/0.46 plus_plus_nat: nat > nat > nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
% 0.25/0.46 zero_zero_nat: nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_If_001t__Int__Oint,type,
% 0.25/0.46 if_int: $o > int > int > int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Nat_OSuc,type,
% 0.25/0.46 suc: nat > nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Nat_Osize__class_Osize_001t__Com__Ocom,type,
% 0.25/0.46 size_size_com: com > nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_OPair_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom,type,
% 0.25/0.46 produc1139835093nt_com: ( list_char > int ) > com > produc1166363805nt_com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_OPair_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J,type,
% 0.25/0.46 produc1193801173ar_int: com > ( list_char > int ) > produc1260470173ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Ocurry_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001_Eo,type,
% 0.25/0.46 produc1803493327_com_o: ( produc1166363805nt_com > $o ) > ( list_char > int ) > com > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Ocurry_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001_Eo,type,
% 0.25/0.46 produc1858366159_int_o: ( produc1260470173ar_int > $o ) > com > ( list_char > int ) > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Ocurry_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Nat__Onat,type,
% 0.25/0.46 produc763543641nt_nat: ( produc1260470173ar_int > nat ) > com > ( list_char > int ) > nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Ocurry_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.25/0.46 produc804153044ar_int: ( produc1260470173ar_int > produc1260470173ar_int ) > com > ( list_char > int ) > produc1260470173ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Ocurry_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.25/0.46 produc1791150095et_nat: ( produc1260470173ar_int > set_nat ) > com > ( list_char > int ) > set_nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Ointernal__case__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001_Eo,type,
% 0.25/0.46 produc9062872_int_o: ( com > ( list_char > int ) > $o ) > produc1260470173ar_int > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Ointernal__case__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Nat__Onat,type,
% 0.25/0.46 produc641693072nt_nat: ( com > ( list_char > int ) > nat ) > produc1260470173ar_int > nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Ointernal__case__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.25/0.46 produc837840349ar_int: ( com > ( list_char > int ) > produc1260470173ar_int ) > produc1260470173ar_int > produc1260470173ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Ointernal__case__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.25/0.46 produc857153862et_nat: ( com > ( list_char > int ) > set_nat ) > produc1260470173ar_int > set_nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001_Eo,type,
% 0.25/0.46 produc613711406_com_o: ( ( list_char > int ) > com > $o ) > produc1166363805nt_com > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Nat__Onat,type,
% 0.25/0.46 produc1263502010om_nat: ( ( list_char > int ) > com > nat ) > produc1166363805nt_com > nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.25/0.46 produc1676975923nt_com: ( ( list_char > int ) > com > produc1166363805nt_com ) > produc1166363805nt_com > produc1166363805nt_com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.25/0.46 produc1771082291ar_int: ( ( list_char > int ) > com > produc1260470173ar_int ) > produc1166363805nt_com > produc1260470173ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.25/0.46 produc1754105456et_nat: ( ( list_char > int ) > com > set_nat ) > produc1166363805nt_com > set_nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Set__Oset_It__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_J,type,
% 0.25/0.46 produc1179280275nt_com: ( ( list_char > int ) > com > set_Pr866150653nt_com ) > produc1166363805nt_com > set_Pr866150653nt_com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Set__Oset_It__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_J,type,
% 0.25/0.46 produc1461507731ar_int: ( ( list_char > int ) > com > set_Pr1148378109ar_int ) > produc1166363805nt_com > set_Pr1148378109ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001_Eo,type,
% 0.25/0.46 produc668584238_int_o: ( com > ( list_char > int ) > $o ) > produc1260470173ar_int > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Nat__Onat,type,
% 0.25/0.46 produc1311963066nt_nat: ( com > ( list_char > int ) > nat ) > produc1260470173ar_int > nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.25/0.46 produc1194453555nt_com: ( com > ( list_char > int ) > produc1166363805nt_com ) > produc1260470173ar_int > produc1166363805nt_com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.25/0.46 produc1288559923ar_int: ( com > ( list_char > int ) > produc1260470173ar_int ) > produc1260470173ar_int > produc1260470173ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.25/0.46 produc991755120et_nat: ( com > ( list_char > int ) > set_nat ) > produc1260470173ar_int > set_nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Set__Oset_It__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_J,type,
% 0.25/0.46 produc1994108563nt_com: ( com > ( list_char > int ) > set_Pr866150653nt_com ) > produc1260470173ar_int > set_Pr866150653nt_com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Set__Oset_It__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_J,type,
% 0.25/0.46 produc128852371ar_int: ( com > ( list_char > int ) > set_Pr1148378109ar_int ) > produc1260470173ar_int > set_Pr1148378109ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Oswap_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom,type,
% 0.25/0.46 produc1716235893nt_com: produc1166363805nt_com > produc1260470173ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Product__Type_Oprod_Oswap_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J,type,
% 0.25/0.46 produc1770201973ar_int: produc1260470173ar_int > produc1166363805nt_com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_RelationalIncorrectness__Mirabelle__kefqvmgyto_Odecomp,type,
% 0.25/0.46 relati1310524937decomp: ( ( list_char > int ) > ( list_char > int ) > $o ) > com > com > ( ( list_char > int ) > ( list_char > int ) > $o ) > ( list_char > int ) > ( list_char > int ) > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_RelationalIncorrectness__Mirabelle__kefqvmgyto_Oflip,type,
% 0.25/0.46 relati186416454e_flip: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( list_char > int ) > ( list_char > int ) > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_RelationalIncorrectness__Mirabelle__kefqvmgyto_Oget__back_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J,type,
% 0.25/0.46 relati23543761ar_int: ( ( list_char > int ) > ( list_char > int ) > $o ) > bexp > com > nat > ( list_char > int ) > ( list_char > int ) > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_RelationalIncorrectness__Mirabelle__kefqvmgyto_Oir__hoare,type,
% 0.25/0.46 relati2102071307_hoare: ( ( list_char > int ) > ( list_char > int ) > $o ) > com > com > ( ( list_char > int ) > ( list_char > int ) > $o ) > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_RelationalIncorrectness__Mirabelle__kefqvmgyto_Oir__valid,type,
% 0.25/0.46 relati775585786_valid: ( ( list_char > int ) > ( list_char > int ) > $o ) > com > com > ( ( list_char > int ) > ( list_char > int ) > $o ) > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
% 0.25/0.46 collect_nat: ( nat > $o ) > set_nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.25/0.46 collec676690312nt_com: ( produc1166363805nt_com > $o ) > set_Pr866150653nt_com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.25/0.46 collec770796680ar_int: ( produc1260470173ar_int > $o ) > set_Pr1148378109ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Nat__Onat,type,
% 0.25/0.46 image_nat_nat: ( nat > nat ) > set_nat > set_nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.25/0.46 image_244615942nt_com: ( nat > produc1166363805nt_com ) > set_nat > set_Pr866150653nt_com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.25/0.46 image_338722310ar_int: ( nat > produc1260470173ar_int ) > set_nat > set_Pr1148378109ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_001t__Nat__Onat,type,
% 0.25/0.46 image_596692520om_nat: ( produc1166363805nt_com > nat ) > set_Pr866150653nt_com > set_nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.25/0.46 image_1874758725nt_com: ( produc1166363805nt_com > produc1166363805nt_com ) > set_Pr866150653nt_com > set_Pr866150653nt_com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.25/0.46 image_1968865093ar_int: ( produc1166363805nt_com > produc1260470173ar_int ) > set_Pr866150653nt_com > set_Pr1148378109ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_001_Eo,type,
% 0.25/0.46 image_522938432_int_o: ( produc1260470173ar_int > $o ) > set_Pr1148378109ar_int > set_o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_001t__Nat__Onat,type,
% 0.25/0.46 image_1742782760nt_nat: ( produc1260470173ar_int > nat ) > set_Pr1148378109ar_int > set_nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.25/0.46 image_786684229nt_com: ( produc1260470173ar_int > produc1166363805nt_com ) > set_Pr1148378109ar_int > set_Pr866150653nt_com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.25/0.46 image_880790597ar_int: ( produc1260470173ar_int > produc1260470173ar_int ) > set_Pr1148378109ar_int > set_Pr1148378109ar_int ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.25/0.46 image_989727966et_nat: ( produc1260470173ar_int > set_nat ) > set_Pr1148378109ar_int > set_set_nat ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_member_001_Eo,type,
% 0.25/0.46 member_o: $o > set_o > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_member_001t__Nat__Onat,type,
% 0.25/0.46 member_nat: nat > set_nat > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.25/0.46 member2145628230nt_com: produc1166363805nt_com > set_Pr866150653nt_com > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_member_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.25/0.46 member92250950ar_int: produc1260470173ar_int > set_Pr1148378109ar_int > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_c_member_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.25/0.46 member_set_nat: set_nat > set_set_nat > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_v_P,type,
% 0.25/0.46 p: ( list_char > int ) > ( list_char > int ) > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_v_Q,type,
% 0.25/0.46 q: ( list_char > int ) > ( list_char > int ) > $o ).
% 0.25/0.46
% 0.25/0.46 thf(sy_v_c,type,
% 0.25/0.46 c: com ).
% 0.25/0.46
% 0.25/0.46 thf(sy_v_c_H,type,
% 0.25/0.46 c2: com ).
% 0.25/0.46
% 0.25/0.46 % Relevant facts (352)
% 0.25/0.46 thf(fact_0_soundness,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati2102071307_hoare @ P @ C @ C2 @ Q )
% 0.25/0.46 => ( relati775585786_valid @ P @ C @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % soundness
% 0.25/0.46 thf(fact_1_completeness,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.25/0.46 => ( relati2102071307_hoare @ P @ C @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % completeness
% 0.25/0.46 thf(fact_2_ir__valid__decomp,axiom,
% 0.25/0.46 ( relati775585786_valid
% 0.25/0.46 = ( ^ [P2: ( list_char > int ) > ( list_char > int ) > $o,C3: com,C4: com,Q2: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati775585786_valid @ P2 @ C3 @ skip @ ( relati1310524937decomp @ P2 @ C3 @ C4 @ Q2 ) )
% 0.25/0.46 & ( relati775585786_valid @ ( relati1310524937decomp @ P2 @ C3 @ C4 @ Q2 ) @ skip @ C4 @ Q2 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_valid_decomp
% 0.25/0.46 thf(fact_3_ir__Skip__Skip,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o] : ( relati2102071307_hoare @ P @ skip @ skip @ P ) ).
% 0.25/0.46
% 0.25/0.46 % ir_Skip_Skip
% 0.25/0.46 thf(fact_4_ir__hoare__Skip__Skip,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati2102071307_hoare @ P @ skip @ skip @ Q )
% 0.25/0.46 = ( ! [S: list_char > int,S2: list_char > int] :
% 0.25/0.46 ( ( Q @ S @ S2 )
% 0.25/0.46 => ( P @ S @ S2 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_hoare_Skip_Skip
% 0.25/0.46 thf(fact_5_ir__pre,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,P3: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati2102071307_hoare @ P @ C @ C2 @ Q )
% 0.25/0.46 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.25/0.46 ( ( P @ S3 @ S4 )
% 0.25/0.46 => ( P3 @ S3 @ S4 ) )
% 0.25/0.46 => ( relati2102071307_hoare @ P3 @ C @ C2 @ Q ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_pre
% 0.25/0.46 thf(fact_6_ir__post,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,Q3: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati2102071307_hoare @ P @ C @ C2 @ Q )
% 0.25/0.46 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.25/0.46 ( ( Q3 @ S3 @ S4 )
% 0.25/0.46 => ( Q @ S3 @ S4 ) )
% 0.25/0.46 => ( relati2102071307_hoare @ P @ C @ C2 @ Q3 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_post
% 0.25/0.46 thf(fact_7_ir__conseq,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,P3: ( list_char > int ) > ( list_char > int ) > $o,Q3: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati2102071307_hoare @ P @ C @ C2 @ Q )
% 0.25/0.46 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.25/0.46 ( ( P @ S3 @ S4 )
% 0.25/0.46 => ( P3 @ S3 @ S4 ) )
% 0.25/0.46 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.25/0.46 ( ( Q3 @ S3 @ S4 )
% 0.25/0.46 => ( Q @ S3 @ S4 ) )
% 0.25/0.46 => ( relati2102071307_hoare @ P3 @ C @ C2 @ Q3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_conseq
% 0.25/0.46 thf(fact_8_ir__valid__decomp1,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.25/0.46 => ( ( relati775585786_valid @ P @ C @ skip @ ( relati1310524937decomp @ P @ C @ C2 @ Q ) )
% 0.25/0.46 & ( relati775585786_valid @ ( relati1310524937decomp @ P @ C @ C2 @ Q ) @ skip @ C2 @ Q ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_valid_decomp1
% 0.25/0.46 thf(fact_9_ir__valid__decomp2,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,R: ( list_char > int ) > ( list_char > int ) > $o,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( ( relati775585786_valid @ P @ C @ skip @ R )
% 0.25/0.46 & ( relati775585786_valid @ R @ skip @ C2 @ Q ) )
% 0.25/0.46 => ( relati775585786_valid @ P @ C @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_valid_decomp2
% 0.25/0.46 thf(fact_10_ir__Seq1,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,D: com,R: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati2102071307_hoare @ P @ C @ C2 @ Q )
% 0.25/0.46 => ( ( relati2102071307_hoare @ Q @ D @ skip @ R )
% 0.25/0.46 => ( relati2102071307_hoare @ P @ ( seq @ C @ D ) @ C2 @ R ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_Seq1
% 0.25/0.46 thf(fact_11_ir__sym,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati2102071307_hoare @ ( relati186416454e_flip @ P ) @ C @ C2 @ ( relati186416454e_flip @ Q ) )
% 0.25/0.46 => ( relati2102071307_hoare @ P @ C2 @ C @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_sym
% 0.25/0.46 thf(fact_12_Seq1__ir__valid,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,D: com,R: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.25/0.46 => ( ( relati775585786_valid @ Q @ D @ skip @ R )
% 0.25/0.46 => ( relati775585786_valid @ P @ ( seq @ C @ D ) @ C2 @ R ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % Seq1_ir_valid
% 0.25/0.46 thf(fact_13_Seq2__ir__valid,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,Q: ( list_char > int ) > ( list_char > int ) > $o,D: com,C2: com,R: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati775585786_valid @ P @ C @ skip @ Q )
% 0.25/0.46 => ( ( relati775585786_valid @ Q @ D @ C2 @ R )
% 0.25/0.46 => ( relati775585786_valid @ P @ ( seq @ C @ D ) @ C2 @ R ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % Seq2_ir_valid
% 0.25/0.46 thf(fact_14_conseq__ir__valid,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,P3: ( list_char > int ) > ( list_char > int ) > $o,Q3: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.25/0.46 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.25/0.46 ( ( P @ S3 @ S4 )
% 0.25/0.46 => ( P3 @ S3 @ S4 ) )
% 0.25/0.46 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.25/0.46 ( ( Q3 @ S3 @ S4 )
% 0.25/0.46 => ( Q @ S3 @ S4 ) )
% 0.25/0.46 => ( relati775585786_valid @ P3 @ C @ C2 @ Q3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % conseq_ir_valid
% 0.25/0.46 thf(fact_15_ir__Skip__sym,axiom,
% 0.25/0.46 ! [Q: ( list_char > int ) > ( list_char > int ) > $o,P: ( list_char > int ) > ( list_char > int ) > $o,C2: com] :
% 0.25/0.46 ( ! [T: list_char > int,T2: list_char > int] :
% 0.25/0.46 ( ( Q @ T2 @ T )
% 0.25/0.46 => ? [S5: list_char > int] :
% 0.25/0.46 ( ( P @ S5 @ T )
% 0.25/0.46 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S5 ) @ T2 ) ) )
% 0.25/0.46 => ( relati2102071307_hoare @ P @ C2 @ skip @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_Skip_sym
% 0.25/0.46 thf(fact_16_ir__Skip,axiom,
% 0.25/0.46 ! [Q: ( list_char > int ) > ( list_char > int ) > $o,P: ( list_char > int ) > ( list_char > int ) > $o,C2: com] :
% 0.25/0.46 ( ! [T: list_char > int,T2: list_char > int] :
% 0.25/0.46 ( ( Q @ T @ T2 )
% 0.25/0.46 => ? [S5: list_char > int] :
% 0.25/0.46 ( ( P @ T @ S5 )
% 0.25/0.46 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S5 ) @ T2 ) ) )
% 0.25/0.46 => ( relati2102071307_hoare @ P @ skip @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_Skip
% 0.25/0.46 thf(fact_17_com_Odistinct_I1_J,axiom,
% 0.25/0.46 ! [X21: list_char,X22: aexp] :
% 0.25/0.46 ( skip
% 0.25/0.46 != ( assign @ X21 @ X22 ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.distinct(1)
% 0.25/0.46 thf(fact_18_com_Oinject_I2_J,axiom,
% 0.25/0.46 ! [X31: com,X32: com,Y31: com,Y32: com] :
% 0.25/0.46 ( ( ( seq @ X31 @ X32 )
% 0.25/0.46 = ( seq @ Y31 @ Y32 ) )
% 0.25/0.46 = ( ( X31 = Y31 )
% 0.25/0.46 & ( X32 = Y32 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.inject(2)
% 0.25/0.46 thf(fact_19_com_Oinject_I1_J,axiom,
% 0.25/0.46 ! [X21: list_char,X22: aexp,Y21: list_char,Y22: aexp] :
% 0.25/0.46 ( ( ( assign @ X21 @ X22 )
% 0.25/0.46 = ( assign @ Y21 @ Y22 ) )
% 0.25/0.46 = ( ( X21 = Y21 )
% 0.25/0.46 & ( X22 = Y22 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.inject(1)
% 0.25/0.46 thf(fact_20_Seq__ir__valid,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,D: com,D2: com,R: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.25/0.46 => ( ( relati775585786_valid @ Q @ D @ D2 @ R )
% 0.25/0.46 => ( relati775585786_valid @ P @ ( seq @ C @ D ) @ ( seq @ C2 @ D2 ) @ R ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % Seq_ir_valid
% 0.25/0.46 thf(fact_21_sym__ir__valid,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C2: com,C: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati775585786_valid @ ( relati186416454e_flip @ P ) @ C2 @ C @ ( relati186416454e_flip @ Q ) )
% 0.25/0.46 => ( relati775585786_valid @ P @ C @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % sym_ir_valid
% 0.25/0.46 thf(fact_22_meh__simp,axiom,
% 0.25/0.46 ! [S6: list_char > int,T3: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ skip @ S6 ) @ T3 )
% 0.25/0.46 = ( S6 = T3 ) ) ).
% 0.25/0.46
% 0.25/0.46 % meh_simp
% 0.25/0.46 thf(fact_23_Skip__ir__valid,axiom,
% 0.25/0.46 ! [Q: ( list_char > int ) > ( list_char > int ) > $o,P: ( list_char > int ) > ( list_char > int ) > $o,C2: com] :
% 0.25/0.46 ( ! [T: list_char > int,T2: list_char > int] :
% 0.25/0.46 ( ( Q @ T @ T2 )
% 0.25/0.46 => ? [S5: list_char > int] :
% 0.25/0.46 ( ( P @ T @ S5 )
% 0.25/0.46 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S5 ) @ T2 ) ) )
% 0.25/0.46 => ( relati775585786_valid @ P @ skip @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % Skip_ir_valid
% 0.25/0.46 thf(fact_24_com_Odistinct_I9_J,axiom,
% 0.25/0.46 ! [X21: list_char,X22: aexp,X31: com,X32: com] :
% 0.25/0.46 ( ( assign @ X21 @ X22 )
% 0.25/0.46 != ( seq @ X31 @ X32 ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.distinct(9)
% 0.25/0.46 thf(fact_25_ir__valid__def,axiom,
% 0.25/0.46 ( relati775585786_valid
% 0.25/0.46 = ( ^ [P2: ( list_char > int ) > ( list_char > int ) > $o,C3: com,C4: com,Q2: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ! [T4: list_char > int,T5: list_char > int] :
% 0.25/0.46 ( ( Q2 @ T4 @ T5 )
% 0.25/0.46 => ? [S: list_char > int,S2: list_char > int] :
% 0.25/0.46 ( ( P2 @ S @ S2 )
% 0.25/0.46 & ( big_big_step @ ( produc1193801173ar_int @ C3 @ S ) @ T4 )
% 0.25/0.46 & ( big_big_step @ ( produc1193801173ar_int @ C4 @ S2 ) @ T5 ) ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_valid_def
% 0.25/0.46 thf(fact_26_com_Odistinct_I3_J,axiom,
% 0.25/0.46 ! [X31: com,X32: com] :
% 0.25/0.46 ( skip
% 0.25/0.46 != ( seq @ X31 @ X32 ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.distinct(3)
% 0.25/0.46 thf(fact_27_SeqE,axiom,
% 0.25/0.46 ! [C1: com,C22: com,S1: list_char > int,S32: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ ( seq @ C1 @ C22 ) @ S1 ) @ S32 )
% 0.25/0.46 => ~ ! [S_2: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C1 @ S1 ) @ S_2 )
% 0.25/0.46 => ~ ( big_big_step @ ( produc1193801173ar_int @ C22 @ S_2 ) @ S32 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % SeqE
% 0.25/0.46 thf(fact_28_Seq__assoc,axiom,
% 0.25/0.46 ! [C1: com,C22: com,C32: com,S7: list_char > int,S6: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ ( seq @ ( seq @ C1 @ C22 ) @ C32 ) @ S7 ) @ S6 )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ ( seq @ C1 @ ( seq @ C22 @ C32 ) ) @ S7 ) @ S6 ) ) ).
% 0.25/0.46
% 0.25/0.46 % Seq_assoc
% 0.25/0.46 thf(fact_29_Seq,axiom,
% 0.25/0.46 ! [C_1: com,S_1: list_char > int,S_22: list_char > int,C_2: com,S_3: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C_1 @ S_1 ) @ S_22 )
% 0.25/0.46 => ( ( big_big_step @ ( produc1193801173ar_int @ C_2 @ S_22 ) @ S_3 )
% 0.25/0.46 => ( big_big_step @ ( produc1193801173ar_int @ ( seq @ C_1 @ C_2 ) @ S_1 ) @ S_3 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % Seq
% 0.25/0.46 thf(fact_30_SkipE,axiom,
% 0.25/0.46 ! [S7: list_char > int,T6: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ skip @ S7 ) @ T6 )
% 0.25/0.46 => ( T6 = S7 ) ) ).
% 0.25/0.46
% 0.25/0.46 % SkipE
% 0.25/0.46 thf(fact_31_Skip,axiom,
% 0.25/0.46 ! [S7: list_char > int] : ( big_big_step @ ( produc1193801173ar_int @ skip @ S7 ) @ S7 ) ).
% 0.25/0.46
% 0.25/0.46 % Skip
% 0.25/0.46 thf(fact_32_prod_Oinject,axiom,
% 0.25/0.46 ! [X1: list_char > int,X2: com,Y1: list_char > int,Y2: com] :
% 0.25/0.46 ( ( ( produc1139835093nt_com @ X1 @ X2 )
% 0.25/0.46 = ( produc1139835093nt_com @ Y1 @ Y2 ) )
% 0.25/0.46 = ( ( X1 = Y1 )
% 0.25/0.46 & ( X2 = Y2 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.inject
% 0.25/0.46 thf(fact_33_prod_Oinject,axiom,
% 0.25/0.46 ! [X1: com,X2: list_char > int,Y1: com,Y2: list_char > int] :
% 0.25/0.46 ( ( ( produc1193801173ar_int @ X1 @ X2 )
% 0.25/0.46 = ( produc1193801173ar_int @ Y1 @ Y2 ) )
% 0.25/0.46 = ( ( X1 = Y1 )
% 0.25/0.46 & ( X2 = Y2 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.inject
% 0.25/0.46 thf(fact_34_old_Oprod_Oinject,axiom,
% 0.25/0.46 ! [A: list_char > int,B: com,A2: list_char > int,B2: com] :
% 0.25/0.46 ( ( ( produc1139835093nt_com @ A @ B )
% 0.25/0.46 = ( produc1139835093nt_com @ A2 @ B2 ) )
% 0.25/0.46 = ( ( A = A2 )
% 0.25/0.46 & ( B = B2 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % old.prod.inject
% 0.25/0.46 thf(fact_35_old_Oprod_Oinject,axiom,
% 0.25/0.46 ! [A: com,B: list_char > int,A2: com,B2: list_char > int] :
% 0.25/0.46 ( ( ( produc1193801173ar_int @ A @ B )
% 0.25/0.46 = ( produc1193801173ar_int @ A2 @ B2 ) )
% 0.25/0.46 = ( ( A = A2 )
% 0.25/0.46 & ( B = B2 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % old.prod.inject
% 0.25/0.46 thf(fact_36_sim__sym,axiom,
% 0.25/0.46 ! [C: com,C2: com] :
% 0.25/0.46 ( ( ! [S: list_char > int,T4: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S ) @ T4 )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ C2 @ S ) @ T4 ) ) )
% 0.25/0.46 = ( ! [S: list_char > int,T4: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C2 @ S ) @ T4 )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ C @ S ) @ T4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % sim_sym
% 0.25/0.46 thf(fact_37_sim__refl,axiom,
% 0.25/0.46 ! [C: com,S8: list_char > int,T7: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S8 ) @ T7 )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ C @ S8 ) @ T7 ) ) ).
% 0.25/0.46
% 0.25/0.46 % sim_refl
% 0.25/0.46 thf(fact_38_sim__trans,axiom,
% 0.25/0.46 ! [C: com,C2: com,C5: com] :
% 0.25/0.46 ( ! [S3: list_char > int,T: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S3 ) @ T )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ C2 @ S3 ) @ T ) )
% 0.25/0.46 => ( ! [S3: list_char > int,T: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C2 @ S3 ) @ T )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ C5 @ S3 ) @ T ) )
% 0.25/0.46 => ! [S8: list_char > int,T7: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S8 ) @ T7 )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ C5 @ S8 ) @ T7 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % sim_trans
% 0.25/0.46 thf(fact_39_old_Oprod_Oinducts,axiom,
% 0.25/0.46 ! [P: produc1166363805nt_com > $o,Prod: produc1166363805nt_com] :
% 0.25/0.46 ( ! [A3: list_char > int,B3: com] : ( P @ ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.25/0.46 => ( P @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % old.prod.inducts
% 0.25/0.46 thf(fact_40_old_Oprod_Oinducts,axiom,
% 0.25/0.46 ! [P: produc1260470173ar_int > $o,Prod: produc1260470173ar_int] :
% 0.25/0.46 ( ! [A3: com,B3: list_char > int] : ( P @ ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.25/0.46 => ( P @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % old.prod.inducts
% 0.25/0.46 thf(fact_41_old_Oprod_Oexhaust,axiom,
% 0.25/0.46 ! [Y: produc1166363805nt_com] :
% 0.25/0.46 ~ ! [A3: list_char > int,B3: com] :
% 0.25/0.46 ( Y
% 0.25/0.46 != ( produc1139835093nt_com @ A3 @ B3 ) ) ).
% 0.25/0.46
% 0.25/0.46 % old.prod.exhaust
% 0.25/0.46 thf(fact_42_old_Oprod_Oexhaust,axiom,
% 0.25/0.46 ! [Y: produc1260470173ar_int] :
% 0.25/0.46 ~ ! [A3: com,B3: list_char > int] :
% 0.25/0.46 ( Y
% 0.25/0.46 != ( produc1193801173ar_int @ A3 @ B3 ) ) ).
% 0.25/0.46
% 0.25/0.46 % old.prod.exhaust
% 0.25/0.46 thf(fact_43_mem__Collect__eq,axiom,
% 0.25/0.46 ! [A: produc1260470173ar_int,P: produc1260470173ar_int > $o] :
% 0.25/0.46 ( ( member92250950ar_int @ A @ ( collec770796680ar_int @ P ) )
% 0.25/0.46 = ( P @ A ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_Collect_eq
% 0.25/0.46 thf(fact_44_mem__Collect__eq,axiom,
% 0.25/0.46 ! [A: produc1166363805nt_com,P: produc1166363805nt_com > $o] :
% 0.25/0.46 ( ( member2145628230nt_com @ A @ ( collec676690312nt_com @ P ) )
% 0.25/0.46 = ( P @ A ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_Collect_eq
% 0.25/0.46 thf(fact_45_mem__Collect__eq,axiom,
% 0.25/0.46 ! [A: nat,P: nat > $o] :
% 0.25/0.46 ( ( member_nat @ A @ ( collect_nat @ P ) )
% 0.25/0.46 = ( P @ A ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_Collect_eq
% 0.25/0.46 thf(fact_46_Collect__mem__eq,axiom,
% 0.25/0.46 ! [A4: set_Pr1148378109ar_int] :
% 0.25/0.46 ( ( collec770796680ar_int
% 0.25/0.46 @ ^ [X: produc1260470173ar_int] : ( member92250950ar_int @ X @ A4 ) )
% 0.25/0.46 = A4 ) ).
% 0.25/0.46
% 0.25/0.46 % Collect_mem_eq
% 0.25/0.46 thf(fact_47_Collect__mem__eq,axiom,
% 0.25/0.46 ! [A4: set_Pr866150653nt_com] :
% 0.25/0.46 ( ( collec676690312nt_com
% 0.25/0.46 @ ^ [X: produc1166363805nt_com] : ( member2145628230nt_com @ X @ A4 ) )
% 0.25/0.46 = A4 ) ).
% 0.25/0.46
% 0.25/0.46 % Collect_mem_eq
% 0.25/0.46 thf(fact_48_Collect__mem__eq,axiom,
% 0.25/0.46 ! [A4: set_nat] :
% 0.25/0.46 ( ( collect_nat
% 0.25/0.46 @ ^ [X: nat] : ( member_nat @ X @ A4 ) )
% 0.25/0.46 = A4 ) ).
% 0.25/0.46
% 0.25/0.46 % Collect_mem_eq
% 0.25/0.46 thf(fact_49_Collect__cong,axiom,
% 0.25/0.46 ! [P: nat > $o,Q: nat > $o] :
% 0.25/0.46 ( ! [X3: nat] :
% 0.25/0.46 ( ( P @ X3 )
% 0.25/0.46 = ( Q @ X3 ) )
% 0.25/0.46 => ( ( collect_nat @ P )
% 0.25/0.46 = ( collect_nat @ Q ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % Collect_cong
% 0.25/0.46 thf(fact_50_Pair__inject,axiom,
% 0.25/0.46 ! [A: list_char > int,B: com,A2: list_char > int,B2: com] :
% 0.25/0.46 ( ( ( produc1139835093nt_com @ A @ B )
% 0.25/0.46 = ( produc1139835093nt_com @ A2 @ B2 ) )
% 0.25/0.46 => ~ ( ( A = A2 )
% 0.25/0.46 => ( B != B2 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % Pair_inject
% 0.25/0.46 thf(fact_51_Pair__inject,axiom,
% 0.25/0.46 ! [A: com,B: list_char > int,A2: com,B2: list_char > int] :
% 0.25/0.46 ( ( ( produc1193801173ar_int @ A @ B )
% 0.25/0.46 = ( produc1193801173ar_int @ A2 @ B2 ) )
% 0.25/0.46 => ~ ( ( A = A2 )
% 0.25/0.46 => ( B != B2 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % Pair_inject
% 0.25/0.46 thf(fact_52_prod__cases,axiom,
% 0.25/0.46 ! [P: produc1166363805nt_com > $o,P4: produc1166363805nt_com] :
% 0.25/0.46 ( ! [A3: list_char > int,B3: com] : ( P @ ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.25/0.46 => ( P @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod_cases
% 0.25/0.46 thf(fact_53_prod__cases,axiom,
% 0.25/0.46 ! [P: produc1260470173ar_int > $o,P4: produc1260470173ar_int] :
% 0.25/0.46 ( ! [A3: com,B3: list_char > int] : ( P @ ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.25/0.46 => ( P @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod_cases
% 0.25/0.46 thf(fact_54_surj__pair,axiom,
% 0.25/0.46 ! [P4: produc1166363805nt_com] :
% 0.25/0.46 ? [X3: list_char > int,Y3: com] :
% 0.25/0.46 ( P4
% 0.25/0.46 = ( produc1139835093nt_com @ X3 @ Y3 ) ) ).
% 0.25/0.46
% 0.25/0.46 % surj_pair
% 0.25/0.46 thf(fact_55_surj__pair,axiom,
% 0.25/0.46 ! [P4: produc1260470173ar_int] :
% 0.25/0.46 ? [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( P4
% 0.25/0.46 = ( produc1193801173ar_int @ X3 @ Y3 ) ) ).
% 0.25/0.46
% 0.25/0.46 % surj_pair
% 0.25/0.46 thf(fact_56_big__step__determ,axiom,
% 0.25/0.46 ! [C: com,S7: list_char > int,T6: list_char > int,U: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S7 ) @ T6 )
% 0.25/0.46 => ( ( big_big_step @ ( produc1193801173ar_int @ C @ S7 ) @ U )
% 0.25/0.46 => ( U = T6 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % big_step_determ
% 0.25/0.46 thf(fact_57_ssubst__Pair__rhs,axiom,
% 0.25/0.46 ! [R2: list_char > int,S7: com,R: set_Pr866150653nt_com,S6: com] :
% 0.25/0.46 ( ( member2145628230nt_com @ ( produc1139835093nt_com @ R2 @ S7 ) @ R )
% 0.25/0.46 => ( ( S6 = S7 )
% 0.25/0.46 => ( member2145628230nt_com @ ( produc1139835093nt_com @ R2 @ S6 ) @ R ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ssubst_Pair_rhs
% 0.25/0.46 thf(fact_58_ssubst__Pair__rhs,axiom,
% 0.25/0.46 ! [R2: com,S7: list_char > int,R: set_Pr1148378109ar_int,S6: list_char > int] :
% 0.25/0.46 ( ( member92250950ar_int @ ( produc1193801173ar_int @ R2 @ S7 ) @ R )
% 0.25/0.46 => ( ( S6 = S7 )
% 0.25/0.46 => ( member92250950ar_int @ ( produc1193801173ar_int @ R2 @ S6 ) @ R ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ssubst_Pair_rhs
% 0.25/0.46 thf(fact_59_curry__conv,axiom,
% 0.25/0.46 ( produc1858366159_int_o
% 0.25/0.46 = ( ^ [F: produc1260470173ar_int > $o,A5: com,B4: list_char > int] : ( F @ ( produc1193801173ar_int @ A5 @ B4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % curry_conv
% 0.25/0.46 thf(fact_60_commute__if,axiom,
% 0.25/0.46 ! [B1: bexp,B22: bexp,C11: com,C12: com,C22: com,S8: list_char > int,T7: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ ( if @ B1 @ ( if @ B22 @ C11 @ C12 ) @ C22 ) @ S8 ) @ T7 )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ ( if @ B22 @ ( if @ B1 @ C11 @ C22 ) @ ( if @ B1 @ C12 @ C22 ) ) @ S8 ) @ T7 ) ) ).
% 0.25/0.46
% 0.25/0.46 % commute_if
% 0.25/0.46 thf(fact_61_triv__if,axiom,
% 0.25/0.46 ! [B: bexp,C: com,S8: list_char > int,T7: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ ( if @ B @ C @ C ) @ S8 ) @ T7 )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ C @ S8 ) @ T7 ) ) ).
% 0.25/0.46
% 0.25/0.46 % triv_if
% 0.25/0.46 thf(fact_62_curryI,axiom,
% 0.25/0.46 ! [F2: produc1166363805nt_com > $o,A: list_char > int,B: com] :
% 0.25/0.46 ( ( F2 @ ( produc1139835093nt_com @ A @ B ) )
% 0.25/0.46 => ( produc1803493327_com_o @ F2 @ A @ B ) ) ).
% 0.25/0.46
% 0.25/0.46 % curryI
% 0.25/0.46 thf(fact_63_curryI,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > $o,A: com,B: list_char > int] :
% 0.25/0.46 ( ( F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.25/0.46 => ( produc1858366159_int_o @ F2 @ A @ B ) ) ).
% 0.25/0.46
% 0.25/0.46 % curryI
% 0.25/0.46 thf(fact_64_while__unfold,axiom,
% 0.25/0.46 ! [B: bexp,C: com,S8: list_char > int,T7: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S8 ) @ T7 )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ ( if @ B @ ( seq @ C @ ( while @ B @ C ) ) @ skip ) @ S8 ) @ T7 ) ) ).
% 0.25/0.46
% 0.25/0.46 % while_unfold
% 0.25/0.46 thf(fact_65_com_Oinject_I4_J,axiom,
% 0.25/0.46 ! [X51: bexp,X52: com,Y51: bexp,Y52: com] :
% 0.25/0.46 ( ( ( while @ X51 @ X52 )
% 0.25/0.46 = ( while @ Y51 @ Y52 ) )
% 0.25/0.46 = ( ( X51 = Y51 )
% 0.25/0.46 & ( X52 = Y52 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.inject(4)
% 0.25/0.46 thf(fact_66_com_Oinject_I3_J,axiom,
% 0.25/0.46 ! [X41: bexp,X42: com,X43: com,Y41: bexp,Y42: com,Y43: com] :
% 0.25/0.46 ( ( ( if @ X41 @ X42 @ X43 )
% 0.25/0.46 = ( if @ Y41 @ Y42 @ Y43 ) )
% 0.25/0.46 = ( ( X41 = Y41 )
% 0.25/0.46 & ( X42 = Y42 )
% 0.25/0.46 & ( X43 = Y43 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.inject(3)
% 0.25/0.46 thf(fact_67_com_Odistinct_I19_J,axiom,
% 0.25/0.46 ! [X41: bexp,X42: com,X43: com,X51: bexp,X52: com] :
% 0.25/0.46 ( ( if @ X41 @ X42 @ X43 )
% 0.25/0.46 != ( while @ X51 @ X52 ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.distinct(19)
% 0.25/0.46 thf(fact_68_com_Odistinct_I7_J,axiom,
% 0.25/0.46 ! [X51: bexp,X52: com] :
% 0.25/0.46 ( skip
% 0.25/0.46 != ( while @ X51 @ X52 ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.distinct(7)
% 0.25/0.46 thf(fact_69_com_Odistinct_I17_J,axiom,
% 0.25/0.46 ! [X31: com,X32: com,X51: bexp,X52: com] :
% 0.25/0.46 ( ( seq @ X31 @ X32 )
% 0.25/0.46 != ( while @ X51 @ X52 ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.distinct(17)
% 0.25/0.46 thf(fact_70_com_Odistinct_I13_J,axiom,
% 0.25/0.46 ! [X21: list_char,X22: aexp,X51: bexp,X52: com] :
% 0.25/0.46 ( ( assign @ X21 @ X22 )
% 0.25/0.46 != ( while @ X51 @ X52 ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.distinct(13)
% 0.25/0.46 thf(fact_71_com_Odistinct_I5_J,axiom,
% 0.25/0.46 ! [X41: bexp,X42: com,X43: com] :
% 0.25/0.46 ( skip
% 0.25/0.46 != ( if @ X41 @ X42 @ X43 ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.distinct(5)
% 0.25/0.46 thf(fact_72_com_Odistinct_I15_J,axiom,
% 0.25/0.46 ! [X31: com,X32: com,X41: bexp,X42: com,X43: com] :
% 0.25/0.46 ( ( seq @ X31 @ X32 )
% 0.25/0.46 != ( if @ X41 @ X42 @ X43 ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.distinct(15)
% 0.25/0.46 thf(fact_73_com_Odistinct_I11_J,axiom,
% 0.25/0.46 ! [X21: list_char,X22: aexp,X41: bexp,X42: com,X43: com] :
% 0.25/0.46 ( ( assign @ X21 @ X22 )
% 0.25/0.46 != ( if @ X41 @ X42 @ X43 ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.distinct(11)
% 0.25/0.46 thf(fact_74_curryD,axiom,
% 0.25/0.46 ! [F2: produc1166363805nt_com > $o,A: list_char > int,B: com] :
% 0.25/0.46 ( ( produc1803493327_com_o @ F2 @ A @ B )
% 0.25/0.46 => ( F2 @ ( produc1139835093nt_com @ A @ B ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % curryD
% 0.25/0.46 thf(fact_75_curryD,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > $o,A: com,B: list_char > int] :
% 0.25/0.46 ( ( produc1858366159_int_o @ F2 @ A @ B )
% 0.25/0.46 => ( F2 @ ( produc1193801173ar_int @ A @ B ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % curryD
% 0.25/0.46 thf(fact_76_curryE,axiom,
% 0.25/0.46 ! [F2: produc1166363805nt_com > $o,A: list_char > int,B: com] :
% 0.25/0.46 ( ( produc1803493327_com_o @ F2 @ A @ B )
% 0.25/0.46 => ( F2 @ ( produc1139835093nt_com @ A @ B ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % curryE
% 0.25/0.46 thf(fact_77_curryE,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > $o,A: com,B: list_char > int] :
% 0.25/0.46 ( ( produc1858366159_int_o @ F2 @ A @ B )
% 0.25/0.46 => ( F2 @ ( produc1193801173ar_int @ A @ B ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % curryE
% 0.25/0.46 thf(fact_78_com_Oinduct,axiom,
% 0.25/0.46 ! [P: com > $o,Com: com] :
% 0.25/0.46 ( ( P @ skip )
% 0.25/0.46 => ( ! [X12: list_char,X23: aexp] : ( P @ ( assign @ X12 @ X23 ) )
% 0.25/0.46 => ( ! [X12: com,X23: com] :
% 0.25/0.46 ( ( P @ X12 )
% 0.25/0.46 => ( ( P @ X23 )
% 0.25/0.46 => ( P @ ( seq @ X12 @ X23 ) ) ) )
% 0.25/0.46 => ( ! [X12: bexp,X23: com,X33: com] :
% 0.25/0.46 ( ( P @ X23 )
% 0.25/0.46 => ( ( P @ X33 )
% 0.25/0.46 => ( P @ ( if @ X12 @ X23 @ X33 ) ) ) )
% 0.25/0.46 => ( ! [X12: bexp,X23: com] :
% 0.25/0.46 ( ( P @ X23 )
% 0.25/0.46 => ( P @ ( while @ X12 @ X23 ) ) )
% 0.25/0.46 => ( P @ Com ) ) ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.induct
% 0.25/0.46 thf(fact_79_com_Oexhaust,axiom,
% 0.25/0.46 ! [Y: com] :
% 0.25/0.46 ( ( Y != skip )
% 0.25/0.46 => ( ! [X212: list_char,X222: aexp] :
% 0.25/0.46 ( Y
% 0.25/0.46 != ( assign @ X212 @ X222 ) )
% 0.25/0.46 => ( ! [X312: com,X322: com] :
% 0.25/0.46 ( Y
% 0.25/0.46 != ( seq @ X312 @ X322 ) )
% 0.25/0.46 => ( ! [X412: bexp,X422: com,X432: com] :
% 0.25/0.46 ( Y
% 0.25/0.46 != ( if @ X412 @ X422 @ X432 ) )
% 0.25/0.46 => ~ ! [X512: bexp,X522: com] :
% 0.25/0.46 ( Y
% 0.25/0.46 != ( while @ X512 @ X522 ) ) ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % com.exhaust
% 0.25/0.46 thf(fact_80_sim__while__cong,axiom,
% 0.25/0.46 ! [C: com,C2: com,B: bexp] :
% 0.25/0.46 ( ! [S3: list_char > int,T: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S3 ) @ T )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ C2 @ S3 ) @ T ) )
% 0.25/0.46 => ! [S8: list_char > int,T7: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S8 ) @ T7 )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C2 ) @ S8 ) @ T7 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % sim_while_cong
% 0.25/0.46 thf(fact_81_sim__while__cong__aux,axiom,
% 0.25/0.46 ! [B: bexp,C: com,S7: list_char > int,T6: list_char > int,C2: com] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S7 ) @ T6 )
% 0.25/0.46 => ( ! [S3: list_char > int,T: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S3 ) @ T )
% 0.25/0.46 = ( big_big_step @ ( produc1193801173ar_int @ C2 @ S3 ) @ T ) )
% 0.25/0.46 => ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C2 ) @ S7 ) @ T6 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % sim_while_cong_aux
% 0.25/0.46 thf(fact_82_IfE,axiom,
% 0.25/0.46 ! [B: bexp,C1: com,C22: com,S7: list_char > int,T6: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ ( if @ B @ C1 @ C22 ) @ S7 ) @ T6 )
% 0.25/0.46 => ( ( ( bval @ B @ S7 )
% 0.25/0.46 => ~ ( big_big_step @ ( produc1193801173ar_int @ C1 @ S7 ) @ T6 ) )
% 0.25/0.46 => ~ ( ~ ( bval @ B @ S7 )
% 0.25/0.46 => ~ ( big_big_step @ ( produc1193801173ar_int @ C22 @ S7 ) @ T6 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % IfE
% 0.25/0.46 thf(fact_83_IfTrue,axiom,
% 0.25/0.46 ! [B: bexp,S7: list_char > int,C_1: com,T6: list_char > int,C_2: com] :
% 0.25/0.46 ( ( bval @ B @ S7 )
% 0.25/0.46 => ( ( big_big_step @ ( produc1193801173ar_int @ C_1 @ S7 ) @ T6 )
% 0.25/0.46 => ( big_big_step @ ( produc1193801173ar_int @ ( if @ B @ C_1 @ C_2 ) @ S7 ) @ T6 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % IfTrue
% 0.25/0.46 thf(fact_84_IfFalse,axiom,
% 0.25/0.46 ! [B: bexp,S7: list_char > int,C_2: com,T6: list_char > int,C_1: com] :
% 0.25/0.46 ( ~ ( bval @ B @ S7 )
% 0.25/0.46 => ( ( big_big_step @ ( produc1193801173ar_int @ C_2 @ S7 ) @ T6 )
% 0.25/0.46 => ( big_big_step @ ( produc1193801173ar_int @ ( if @ B @ C_1 @ C_2 ) @ S7 ) @ T6 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % IfFalse
% 0.25/0.46 thf(fact_85_WhileE,axiom,
% 0.25/0.46 ! [B: bexp,C: com,S7: list_char > int,T6: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S7 ) @ T6 )
% 0.25/0.46 => ( ( ( T6 = S7 )
% 0.25/0.46 => ( bval @ B @ S7 ) )
% 0.25/0.46 => ~ ( ( bval @ B @ S7 )
% 0.25/0.46 => ! [S_2: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S7 ) @ S_2 )
% 0.25/0.46 => ~ ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S_2 ) @ T6 ) ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % WhileE
% 0.25/0.46 thf(fact_86_WhileTrue,axiom,
% 0.25/0.46 ! [B: bexp,S_1: list_char > int,C: com,S_22: list_char > int,S_3: list_char > int] :
% 0.25/0.46 ( ( bval @ B @ S_1 )
% 0.25/0.46 => ( ( big_big_step @ ( produc1193801173ar_int @ C @ S_1 ) @ S_22 )
% 0.25/0.46 => ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S_22 ) @ S_3 )
% 0.25/0.46 => ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S_1 ) @ S_3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % WhileTrue
% 0.25/0.46 thf(fact_87_WhileFalse,axiom,
% 0.25/0.46 ! [B: bexp,S7: list_char > int,C: com] :
% 0.25/0.46 ( ~ ( bval @ B @ S7 )
% 0.25/0.46 => ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S7 ) @ S7 ) ) ).
% 0.25/0.46
% 0.25/0.46 % WhileFalse
% 0.25/0.46 thf(fact_88_swap__simp,axiom,
% 0.25/0.46 ! [X4: list_char > int,Y: com] :
% 0.25/0.46 ( ( produc1716235893nt_com @ ( produc1139835093nt_com @ X4 @ Y ) )
% 0.25/0.46 = ( produc1193801173ar_int @ Y @ X4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % swap_simp
% 0.25/0.46 thf(fact_89_swap__simp,axiom,
% 0.25/0.46 ! [X4: com,Y: list_char > int] :
% 0.25/0.46 ( ( produc1770201973ar_int @ ( produc1193801173ar_int @ X4 @ Y ) )
% 0.25/0.46 = ( produc1139835093nt_com @ Y @ X4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % swap_simp
% 0.25/0.46 thf(fact_90_swap__swap,axiom,
% 0.25/0.46 ! [P4: produc1166363805nt_com] :
% 0.25/0.46 ( ( produc1770201973ar_int @ ( produc1716235893nt_com @ P4 ) )
% 0.25/0.46 = P4 ) ).
% 0.25/0.46
% 0.25/0.46 % swap_swap
% 0.25/0.46 thf(fact_91_swap__swap,axiom,
% 0.25/0.46 ! [P4: produc1260470173ar_int] :
% 0.25/0.46 ( ( produc1716235893nt_com @ ( produc1770201973ar_int @ P4 ) )
% 0.25/0.46 = P4 ) ).
% 0.25/0.46
% 0.25/0.46 % swap_swap
% 0.25/0.46 thf(fact_92_pair__in__swap__image,axiom,
% 0.25/0.46 ! [Y: list_char > int,X4: com,A4: set_Pr1148378109ar_int] :
% 0.25/0.46 ( ( member2145628230nt_com @ ( produc1139835093nt_com @ Y @ X4 ) @ ( image_786684229nt_com @ produc1770201973ar_int @ A4 ) )
% 0.25/0.46 = ( member92250950ar_int @ ( produc1193801173ar_int @ X4 @ Y ) @ A4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % pair_in_swap_image
% 0.25/0.46 thf(fact_93_pair__in__swap__image,axiom,
% 0.25/0.46 ! [Y: com,X4: list_char > int,A4: set_Pr866150653nt_com] :
% 0.25/0.46 ( ( member92250950ar_int @ ( produc1193801173ar_int @ Y @ X4 ) @ ( image_1968865093ar_int @ produc1716235893nt_com @ A4 ) )
% 0.25/0.46 = ( member2145628230nt_com @ ( produc1139835093nt_com @ X4 @ Y ) @ A4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % pair_in_swap_image
% 0.25/0.46 thf(fact_94_internal__case__prod__def,axiom,
% 0.25/0.46 produc857153862et_nat = produc991755120et_nat ).
% 0.25/0.46
% 0.25/0.46 % internal_case_prod_def
% 0.25/0.46 thf(fact_95_internal__case__prod__def,axiom,
% 0.25/0.46 produc9062872_int_o = produc668584238_int_o ).
% 0.25/0.46
% 0.25/0.46 % internal_case_prod_def
% 0.25/0.46 thf(fact_96_internal__case__prod__def,axiom,
% 0.25/0.46 produc641693072nt_nat = produc1311963066nt_nat ).
% 0.25/0.46
% 0.25/0.46 % internal_case_prod_def
% 0.25/0.46 thf(fact_97_internal__case__prod__def,axiom,
% 0.25/0.46 produc837840349ar_int = produc1288559923ar_int ).
% 0.25/0.46
% 0.25/0.46 % internal_case_prod_def
% 0.25/0.46 thf(fact_98_Assign__complete,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,X1: list_char,X2: aexp,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,T6: list_char > int,T3: list_char > int] :
% 0.25/0.46 ( ( relati775585786_valid @ P @ ( assign @ X1 @ X2 ) @ C2 @ Q )
% 0.25/0.46 => ( ( Q @ T6 @ T3 )
% 0.25/0.46 => ? [S4: list_char > int] :
% 0.25/0.46 ( ? [V: int] :
% 0.25/0.46 ( ( P @ ( fun_up103088396ar_int @ T6 @ X1 @ V ) @ S4 )
% 0.25/0.46 & ( ( T6 @ X1 )
% 0.25/0.46 = ( aval @ X2 @ ( fun_up103088396ar_int @ T6 @ X1 @ V ) ) ) )
% 0.25/0.46 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S4 ) @ T3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % Assign_complete
% 0.25/0.46 thf(fact_99_While__True__ir__valid,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati775585786_valid
% 0.25/0.46 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.46 ( ( P @ S @ S2 )
% 0.25/0.46 & ( bval @ B @ S ) )
% 0.25/0.46 @ ( seq @ C @ ( while @ B @ C ) )
% 0.25/0.46 @ C2
% 0.25/0.46 @ Q )
% 0.25/0.46 => ( relati775585786_valid @ P @ ( while @ B @ C ) @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % While_True_ir_valid
% 0.25/0.46 thf(fact_100_While__backwards__frontier__ir__valid_H,axiom,
% 0.25/0.46 ! [P: nat > ( list_char > int ) > ( list_char > int ) > $o,K: nat,B: bexp,C: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C2: com,T6: list_char > int,T3: list_char > int] :
% 0.25/0.46 ( ! [N: nat,T: list_char > int,T2: list_char > int] :
% 0.25/0.46 ( ( P @ ( plus_plus_nat @ K @ ( suc @ N ) ) @ T @ T2 )
% 0.25/0.46 => ? [S8: list_char > int] :
% 0.25/0.46 ( ( P @ ( plus_plus_nat @ K @ N ) @ S8 @ T2 )
% 0.25/0.46 & ( bval @ B @ S8 )
% 0.25/0.46 & ( big_big_step @ ( produc1193801173ar_int @ C @ S8 ) @ T ) ) )
% 0.25/0.46 => ( ! [T: list_char > int,T2: list_char > int] :
% 0.25/0.46 ( ( Q @ T @ T2 )
% 0.25/0.46 => ? [S8: list_char > int,S5: list_char > int] :
% 0.25/0.46 ( ? [N2: nat] : ( P @ ( plus_plus_nat @ K @ N2 ) @ S8 @ S5 )
% 0.25/0.46 & ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S8 ) @ T )
% 0.25/0.46 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S5 ) @ T2 ) ) )
% 0.25/0.46 => ( ( Q @ T6 @ T3 )
% 0.25/0.46 => ? [S3: list_char > int,S4: list_char > int] :
% 0.25/0.46 ( ( P @ K @ S3 @ S4 )
% 0.25/0.46 & ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S3 ) @ T6 )
% 0.25/0.46 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S4 ) @ T3 ) ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % While_backwards_frontier_ir_valid'
% 0.25/0.46 thf(fact_101_mem__case__prodI2,axiom,
% 0.25/0.46 ! [P4: produc1260470173ar_int,Z: produc1260470173ar_int,C: com > ( list_char > int ) > set_Pr1148378109ar_int] :
% 0.25/0.46 ( ! [A3: com,B3: list_char > int] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.25/0.46 => ( member92250950ar_int @ Z @ ( C @ A3 @ B3 ) ) )
% 0.25/0.46 => ( member92250950ar_int @ Z @ ( produc128852371ar_int @ C @ P4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI2
% 0.25/0.46 thf(fact_102_mem__case__prodI2,axiom,
% 0.25/0.46 ! [P4: produc1260470173ar_int,Z: produc1166363805nt_com,C: com > ( list_char > int ) > set_Pr866150653nt_com] :
% 0.25/0.46 ( ! [A3: com,B3: list_char > int] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.25/0.46 => ( member2145628230nt_com @ Z @ ( C @ A3 @ B3 ) ) )
% 0.25/0.46 => ( member2145628230nt_com @ Z @ ( produc1994108563nt_com @ C @ P4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI2
% 0.25/0.46 thf(fact_103_mem__case__prodI2,axiom,
% 0.25/0.46 ! [P4: produc1166363805nt_com,Z: nat,C: ( list_char > int ) > com > set_nat] :
% 0.25/0.46 ( ! [A3: list_char > int,B3: com] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.25/0.46 => ( member_nat @ Z @ ( C @ A3 @ B3 ) ) )
% 0.25/0.46 => ( member_nat @ Z @ ( produc1754105456et_nat @ C @ P4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI2
% 0.25/0.46 thf(fact_104_mem__case__prodI2,axiom,
% 0.25/0.46 ! [P4: produc1166363805nt_com,Z: produc1260470173ar_int,C: ( list_char > int ) > com > set_Pr1148378109ar_int] :
% 0.25/0.46 ( ! [A3: list_char > int,B3: com] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.25/0.46 => ( member92250950ar_int @ Z @ ( C @ A3 @ B3 ) ) )
% 0.25/0.46 => ( member92250950ar_int @ Z @ ( produc1461507731ar_int @ C @ P4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI2
% 0.25/0.46 thf(fact_105_mem__case__prodI2,axiom,
% 0.25/0.46 ! [P4: produc1166363805nt_com,Z: produc1166363805nt_com,C: ( list_char > int ) > com > set_Pr866150653nt_com] :
% 0.25/0.46 ( ! [A3: list_char > int,B3: com] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.25/0.46 => ( member2145628230nt_com @ Z @ ( C @ A3 @ B3 ) ) )
% 0.25/0.46 => ( member2145628230nt_com @ Z @ ( produc1179280275nt_com @ C @ P4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI2
% 0.25/0.46 thf(fact_106_mem__case__prodI2,axiom,
% 0.25/0.46 ! [P4: produc1260470173ar_int,Z: nat,C: com > ( list_char > int ) > set_nat] :
% 0.25/0.46 ( ! [A3: com,B3: list_char > int] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.25/0.46 => ( member_nat @ Z @ ( C @ A3 @ B3 ) ) )
% 0.25/0.46 => ( member_nat @ Z @ ( produc991755120et_nat @ C @ P4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI2
% 0.25/0.46 thf(fact_107_mem__case__prodI,axiom,
% 0.25/0.46 ! [Z: produc1260470173ar_int,C: com > ( list_char > int ) > set_Pr1148378109ar_int,A: com,B: list_char > int] :
% 0.25/0.46 ( ( member92250950ar_int @ Z @ ( C @ A @ B ) )
% 0.25/0.46 => ( member92250950ar_int @ Z @ ( produc128852371ar_int @ C @ ( produc1193801173ar_int @ A @ B ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI
% 0.25/0.46 thf(fact_108_mem__case__prodI,axiom,
% 0.25/0.46 ! [Z: produc1166363805nt_com,C: com > ( list_char > int ) > set_Pr866150653nt_com,A: com,B: list_char > int] :
% 0.25/0.46 ( ( member2145628230nt_com @ Z @ ( C @ A @ B ) )
% 0.25/0.46 => ( member2145628230nt_com @ Z @ ( produc1994108563nt_com @ C @ ( produc1193801173ar_int @ A @ B ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI
% 0.25/0.46 thf(fact_109_mem__case__prodI,axiom,
% 0.25/0.46 ! [Z: nat,C: ( list_char > int ) > com > set_nat,A: list_char > int,B: com] :
% 0.25/0.46 ( ( member_nat @ Z @ ( C @ A @ B ) )
% 0.25/0.46 => ( member_nat @ Z @ ( produc1754105456et_nat @ C @ ( produc1139835093nt_com @ A @ B ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI
% 0.25/0.46 thf(fact_110_mem__case__prodI,axiom,
% 0.25/0.46 ! [Z: produc1260470173ar_int,C: ( list_char > int ) > com > set_Pr1148378109ar_int,A: list_char > int,B: com] :
% 0.25/0.46 ( ( member92250950ar_int @ Z @ ( C @ A @ B ) )
% 0.25/0.46 => ( member92250950ar_int @ Z @ ( produc1461507731ar_int @ C @ ( produc1139835093nt_com @ A @ B ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI
% 0.25/0.46 thf(fact_111_mem__case__prodI,axiom,
% 0.25/0.46 ! [Z: produc1166363805nt_com,C: ( list_char > int ) > com > set_Pr866150653nt_com,A: list_char > int,B: com] :
% 0.25/0.46 ( ( member2145628230nt_com @ Z @ ( C @ A @ B ) )
% 0.25/0.46 => ( member2145628230nt_com @ Z @ ( produc1179280275nt_com @ C @ ( produc1139835093nt_com @ A @ B ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI
% 0.25/0.46 thf(fact_112_mem__case__prodI,axiom,
% 0.25/0.46 ! [Z: nat,C: com > ( list_char > int ) > set_nat,A: com,B: list_char > int] :
% 0.25/0.46 ( ( member_nat @ Z @ ( C @ A @ B ) )
% 0.25/0.46 => ( member_nat @ Z @ ( produc991755120et_nat @ C @ ( produc1193801173ar_int @ A @ B ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodI
% 0.25/0.46 thf(fact_113_case__prodI2,axiom,
% 0.25/0.46 ! [P4: produc1166363805nt_com,C: ( list_char > int ) > com > $o] :
% 0.25/0.46 ( ! [A3: list_char > int,B3: com] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.25/0.46 => ( C @ A3 @ B3 ) )
% 0.25/0.46 => ( produc613711406_com_o @ C @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodI2
% 0.25/0.46 thf(fact_114_case__prodI2,axiom,
% 0.25/0.46 ! [P4: produc1260470173ar_int,C: com > ( list_char > int ) > $o] :
% 0.25/0.46 ( ! [A3: com,B3: list_char > int] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.25/0.46 => ( C @ A3 @ B3 ) )
% 0.25/0.46 => ( produc668584238_int_o @ C @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodI2
% 0.25/0.46 thf(fact_115_case__prodI,axiom,
% 0.25/0.46 ! [F2: ( list_char > int ) > com > $o,A: list_char > int,B: com] :
% 0.25/0.46 ( ( F2 @ A @ B )
% 0.25/0.46 => ( produc613711406_com_o @ F2 @ ( produc1139835093nt_com @ A @ B ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodI
% 0.25/0.46 thf(fact_116_case__prodI,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > $o,A: com,B: list_char > int] :
% 0.25/0.46 ( ( F2 @ A @ B )
% 0.25/0.46 => ( produc668584238_int_o @ F2 @ ( produc1193801173ar_int @ A @ B ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodI
% 0.25/0.46 thf(fact_117_disj__ir__valid,axiom,
% 0.25/0.46 ! [P_1: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q_1: ( list_char > int ) > ( list_char > int ) > $o,P_2: ( list_char > int ) > ( list_char > int ) > $o,Q_2: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati775585786_valid @ P_1 @ C @ C2 @ Q_1 )
% 0.25/0.46 => ( ( relati775585786_valid @ P_2 @ C @ C2 @ Q_2 )
% 0.25/0.46 => ( relati775585786_valid
% 0.25/0.46 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.46 ( ( P_1 @ S @ S2 )
% 0.25/0.46 | ( P_2 @ S @ S2 ) )
% 0.25/0.46 @ C
% 0.25/0.46 @ C2
% 0.25/0.46 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.46 ( ( Q_1 @ T4 @ T5 )
% 0.25/0.46 | ( Q_2 @ T4 @ T5 ) ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % disj_ir_valid
% 0.25/0.46 thf(fact_118_case__prod__conv,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > set_nat,A: com,B: list_char > int] :
% 0.25/0.46 ( ( produc991755120et_nat @ F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.25/0.46 = ( F2 @ A @ B ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_conv
% 0.25/0.46 thf(fact_119_case__prod__conv,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > $o,A: com,B: list_char > int] :
% 0.25/0.46 ( ( produc668584238_int_o @ F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.25/0.46 = ( F2 @ A @ B ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_conv
% 0.25/0.46 thf(fact_120_case__prod__conv,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > nat,A: com,B: list_char > int] :
% 0.25/0.46 ( ( produc1311963066nt_nat @ F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.25/0.46 = ( F2 @ A @ B ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_conv
% 0.25/0.46 thf(fact_121_case__prod__conv,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > produc1260470173ar_int,A: com,B: list_char > int] :
% 0.25/0.46 ( ( produc1288559923ar_int @ F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.25/0.46 = ( F2 @ A @ B ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_conv
% 0.25/0.46 thf(fact_122_curry__case__prod,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > set_nat] :
% 0.25/0.46 ( ( produc1791150095et_nat @ ( produc991755120et_nat @ F2 ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % curry_case_prod
% 0.25/0.46 thf(fact_123_curry__case__prod,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( produc1858366159_int_o @ ( produc668584238_int_o @ F2 ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % curry_case_prod
% 0.25/0.46 thf(fact_124_curry__case__prod,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > nat] :
% 0.25/0.46 ( ( produc763543641nt_nat @ ( produc1311963066nt_nat @ F2 ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % curry_case_prod
% 0.25/0.46 thf(fact_125_curry__case__prod,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > produc1260470173ar_int] :
% 0.25/0.46 ( ( produc804153044ar_int @ ( produc1288559923ar_int @ F2 ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % curry_case_prod
% 0.25/0.46 thf(fact_126_case__prod__curry,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > set_nat] :
% 0.25/0.46 ( ( produc991755120et_nat @ ( produc1791150095et_nat @ F2 ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_curry
% 0.25/0.46 thf(fact_127_case__prod__curry,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > $o] :
% 0.25/0.46 ( ( produc668584238_int_o @ ( produc1858366159_int_o @ F2 ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_curry
% 0.25/0.46 thf(fact_128_case__prod__curry,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > nat] :
% 0.25/0.46 ( ( produc1311963066nt_nat @ ( produc763543641nt_nat @ F2 ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_curry
% 0.25/0.46 thf(fact_129_case__prod__curry,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > produc1260470173ar_int] :
% 0.25/0.46 ( ( produc1288559923ar_int @ ( produc804153044ar_int @ F2 ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_curry
% 0.25/0.46 thf(fact_130_case__swap,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > set_nat,P4: produc1260470173ar_int] :
% 0.25/0.46 ( ( produc1754105456et_nat
% 0.25/0.46 @ ^ [Y4: list_char > int,X: com] : ( F2 @ X @ Y4 )
% 0.25/0.46 @ ( produc1770201973ar_int @ P4 ) )
% 0.25/0.46 = ( produc991755120et_nat @ F2 @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_swap
% 0.25/0.46 thf(fact_131_case__swap,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > $o,P4: produc1260470173ar_int] :
% 0.25/0.46 ( ( produc613711406_com_o
% 0.25/0.46 @ ^ [Y4: list_char > int,X: com] : ( F2 @ X @ Y4 )
% 0.25/0.46 @ ( produc1770201973ar_int @ P4 ) )
% 0.25/0.46 = ( produc668584238_int_o @ F2 @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_swap
% 0.25/0.46 thf(fact_132_case__swap,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > nat,P4: produc1260470173ar_int] :
% 0.25/0.46 ( ( produc1263502010om_nat
% 0.25/0.46 @ ^ [Y4: list_char > int,X: com] : ( F2 @ X @ Y4 )
% 0.25/0.46 @ ( produc1770201973ar_int @ P4 ) )
% 0.25/0.46 = ( produc1311963066nt_nat @ F2 @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_swap
% 0.25/0.46 thf(fact_133_case__swap,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > produc1260470173ar_int,P4: produc1260470173ar_int] :
% 0.25/0.46 ( ( produc1771082291ar_int
% 0.25/0.46 @ ^ [Y4: list_char > int,X: com] : ( F2 @ X @ Y4 )
% 0.25/0.46 @ ( produc1770201973ar_int @ P4 ) )
% 0.25/0.46 = ( produc1288559923ar_int @ F2 @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_swap
% 0.25/0.46 thf(fact_134_case__swap,axiom,
% 0.25/0.46 ! [F2: ( list_char > int ) > com > set_nat,P4: produc1166363805nt_com] :
% 0.25/0.46 ( ( produc991755120et_nat
% 0.25/0.46 @ ^ [Y4: com,X: list_char > int] : ( F2 @ X @ Y4 )
% 0.25/0.46 @ ( produc1716235893nt_com @ P4 ) )
% 0.25/0.46 = ( produc1754105456et_nat @ F2 @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_swap
% 0.25/0.46 thf(fact_135_case__swap,axiom,
% 0.25/0.46 ! [F2: ( list_char > int ) > com > $o,P4: produc1166363805nt_com] :
% 0.25/0.46 ( ( produc668584238_int_o
% 0.25/0.46 @ ^ [Y4: com,X: list_char > int] : ( F2 @ X @ Y4 )
% 0.25/0.46 @ ( produc1716235893nt_com @ P4 ) )
% 0.25/0.46 = ( produc613711406_com_o @ F2 @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_swap
% 0.25/0.46 thf(fact_136_case__swap,axiom,
% 0.25/0.46 ! [F2: ( list_char > int ) > com > nat,P4: produc1166363805nt_com] :
% 0.25/0.46 ( ( produc1311963066nt_nat
% 0.25/0.46 @ ^ [Y4: com,X: list_char > int] : ( F2 @ X @ Y4 )
% 0.25/0.46 @ ( produc1716235893nt_com @ P4 ) )
% 0.25/0.46 = ( produc1263502010om_nat @ F2 @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_swap
% 0.25/0.46 thf(fact_137_case__swap,axiom,
% 0.25/0.46 ! [F2: ( list_char > int ) > com > produc1260470173ar_int,P4: produc1166363805nt_com] :
% 0.25/0.46 ( ( produc1288559923ar_int
% 0.25/0.46 @ ^ [Y4: com,X: list_char > int] : ( F2 @ X @ Y4 )
% 0.25/0.46 @ ( produc1716235893nt_com @ P4 ) )
% 0.25/0.46 = ( produc1771082291ar_int @ F2 @ P4 ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_swap
% 0.25/0.46 thf(fact_138_pair__imageI,axiom,
% 0.25/0.46 ! [A: com,B: list_char > int,A4: set_Pr1148378109ar_int,F2: com > ( list_char > int ) > produc1166363805nt_com] :
% 0.25/0.46 ( ( member92250950ar_int @ ( produc1193801173ar_int @ A @ B ) @ A4 )
% 0.25/0.46 => ( member2145628230nt_com @ ( F2 @ A @ B ) @ ( image_786684229nt_com @ ( produc1194453555nt_com @ F2 ) @ A4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % pair_imageI
% 0.25/0.46 thf(fact_139_pair__imageI,axiom,
% 0.25/0.46 ! [A: list_char > int,B: com,A4: set_Pr866150653nt_com,F2: ( list_char > int ) > com > nat] :
% 0.25/0.46 ( ( member2145628230nt_com @ ( produc1139835093nt_com @ A @ B ) @ A4 )
% 0.25/0.46 => ( member_nat @ ( F2 @ A @ B ) @ ( image_596692520om_nat @ ( produc1263502010om_nat @ F2 ) @ A4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % pair_imageI
% 0.25/0.46 thf(fact_140_pair__imageI,axiom,
% 0.25/0.46 ! [A: list_char > int,B: com,A4: set_Pr866150653nt_com,F2: ( list_char > int ) > com > produc1260470173ar_int] :
% 0.25/0.46 ( ( member2145628230nt_com @ ( produc1139835093nt_com @ A @ B ) @ A4 )
% 0.25/0.46 => ( member92250950ar_int @ ( F2 @ A @ B ) @ ( image_1968865093ar_int @ ( produc1771082291ar_int @ F2 ) @ A4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % pair_imageI
% 0.25/0.46 thf(fact_141_pair__imageI,axiom,
% 0.25/0.46 ! [A: list_char > int,B: com,A4: set_Pr866150653nt_com,F2: ( list_char > int ) > com > produc1166363805nt_com] :
% 0.25/0.46 ( ( member2145628230nt_com @ ( produc1139835093nt_com @ A @ B ) @ A4 )
% 0.25/0.46 => ( member2145628230nt_com @ ( F2 @ A @ B ) @ ( image_1874758725nt_com @ ( produc1676975923nt_com @ F2 ) @ A4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % pair_imageI
% 0.25/0.46 thf(fact_142_pair__imageI,axiom,
% 0.25/0.46 ! [A: com,B: list_char > int,A4: set_Pr1148378109ar_int,F2: com > ( list_char > int ) > set_nat] :
% 0.25/0.46 ( ( member92250950ar_int @ ( produc1193801173ar_int @ A @ B ) @ A4 )
% 0.25/0.46 => ( member_set_nat @ ( F2 @ A @ B ) @ ( image_989727966et_nat @ ( produc991755120et_nat @ F2 ) @ A4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % pair_imageI
% 0.25/0.46 thf(fact_143_pair__imageI,axiom,
% 0.25/0.46 ! [A: com,B: list_char > int,A4: set_Pr1148378109ar_int,F2: com > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( member92250950ar_int @ ( produc1193801173ar_int @ A @ B ) @ A4 )
% 0.25/0.46 => ( member_o @ ( F2 @ A @ B ) @ ( image_522938432_int_o @ ( produc668584238_int_o @ F2 ) @ A4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % pair_imageI
% 0.25/0.46 thf(fact_144_pair__imageI,axiom,
% 0.25/0.46 ! [A: com,B: list_char > int,A4: set_Pr1148378109ar_int,F2: com > ( list_char > int ) > produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ ( produc1193801173ar_int @ A @ B ) @ A4 )
% 0.25/0.46 => ( member92250950ar_int @ ( F2 @ A @ B ) @ ( image_880790597ar_int @ ( produc1288559923ar_int @ F2 ) @ A4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % pair_imageI
% 0.25/0.46 thf(fact_145_pair__imageI,axiom,
% 0.25/0.46 ! [A: com,B: list_char > int,A4: set_Pr1148378109ar_int,F2: com > ( list_char > int ) > nat] :
% 0.25/0.46 ( ( member92250950ar_int @ ( produc1193801173ar_int @ A @ B ) @ A4 )
% 0.25/0.46 => ( member_nat @ ( F2 @ A @ B ) @ ( image_1742782760nt_nat @ ( produc1311963066nt_nat @ F2 ) @ A4 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % pair_imageI
% 0.25/0.46 thf(fact_146_If__True__ir__valid,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C_1: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C_2: com] :
% 0.25/0.46 ( ( relati775585786_valid
% 0.25/0.46 @ ^ [A5: list_char > int,C3: list_char > int] :
% 0.25/0.46 ( ( P @ A5 @ C3 )
% 0.25/0.46 & ( bval @ B @ A5 ) )
% 0.25/0.46 @ C_1
% 0.25/0.46 @ C2
% 0.25/0.46 @ Q )
% 0.25/0.46 => ( relati775585786_valid @ P @ ( if @ B @ C_1 @ C_2 ) @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % If_True_ir_valid
% 0.25/0.46 thf(fact_147_If__False__ir__valid,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C_2: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C_1: com] :
% 0.25/0.46 ( ( relati775585786_valid
% 0.25/0.46 @ ^ [A5: list_char > int,C3: list_char > int] :
% 0.25/0.46 ( ( P @ A5 @ C3 )
% 0.25/0.46 & ~ ( bval @ B @ A5 ) )
% 0.25/0.46 @ C_2
% 0.25/0.46 @ C2
% 0.25/0.46 @ Q )
% 0.25/0.46 => ( relati775585786_valid @ P @ ( if @ B @ C_1 @ C_2 ) @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % If_False_ir_valid
% 0.25/0.46 thf(fact_148_While__False__ir__valid,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C: com] :
% 0.25/0.46 ( ( relati775585786_valid
% 0.25/0.46 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.46 ( ( P @ S @ S2 )
% 0.25/0.46 & ~ ( bval @ B @ S ) )
% 0.25/0.46 @ skip
% 0.25/0.46 @ C2
% 0.25/0.46 @ Q )
% 0.25/0.46 => ( relati775585786_valid @ P @ ( while @ B @ C ) @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % While_False_ir_valid
% 0.25/0.46 thf(fact_149_Assign__blah,axiom,
% 0.25/0.46 ! [T6: list_char > int,X4: list_char,E: aexp,V2: int] :
% 0.25/0.46 ( ( ( T6 @ X4 )
% 0.25/0.46 = ( aval @ E @ ( fun_up103088396ar_int @ T6 @ X4 @ V2 ) ) )
% 0.25/0.46 => ( big_big_step @ ( produc1193801173ar_int @ ( assign @ X4 @ E ) @ ( fun_up103088396ar_int @ T6 @ X4 @ V2 ) ) @ T6 ) ) ).
% 0.25/0.46
% 0.25/0.46 % Assign_blah
% 0.25/0.46 thf(fact_150_curry__def,axiom,
% 0.25/0.46 ( produc1858366159_int_o
% 0.25/0.46 = ( ^ [C3: produc1260470173ar_int > $o,X: com,Y4: list_char > int] : ( C3 @ ( produc1193801173ar_int @ X @ Y4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % curry_def
% 0.25/0.46 thf(fact_151_prod_Ocase__distrib,axiom,
% 0.25/0.46 ! [H: $o > $o,F2: com > ( list_char > int ) > $o,Prod: produc1260470173ar_int] :
% 0.25/0.46 ( ( H @ ( produc668584238_int_o @ F2 @ Prod ) )
% 0.25/0.46 = ( produc668584238_int_o
% 0.25/0.46 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.25/0.46 @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.case_distrib
% 0.25/0.46 thf(fact_152_prod_Ocase__distrib,axiom,
% 0.25/0.46 ! [H: $o > nat,F2: com > ( list_char > int ) > $o,Prod: produc1260470173ar_int] :
% 0.25/0.46 ( ( H @ ( produc668584238_int_o @ F2 @ Prod ) )
% 0.25/0.46 = ( produc1311963066nt_nat
% 0.25/0.46 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.25/0.46 @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.case_distrib
% 0.25/0.46 thf(fact_153_prod_Ocase__distrib,axiom,
% 0.25/0.46 ! [H: nat > $o,F2: com > ( list_char > int ) > nat,Prod: produc1260470173ar_int] :
% 0.25/0.46 ( ( H @ ( produc1311963066nt_nat @ F2 @ Prod ) )
% 0.25/0.46 = ( produc668584238_int_o
% 0.25/0.46 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.25/0.46 @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.case_distrib
% 0.25/0.46 thf(fact_154_prod_Ocase__distrib,axiom,
% 0.25/0.46 ! [H: nat > nat,F2: com > ( list_char > int ) > nat,Prod: produc1260470173ar_int] :
% 0.25/0.46 ( ( H @ ( produc1311963066nt_nat @ F2 @ Prod ) )
% 0.25/0.46 = ( produc1311963066nt_nat
% 0.25/0.46 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.25/0.46 @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.case_distrib
% 0.25/0.46 thf(fact_155_prod_Ocase__distrib,axiom,
% 0.25/0.46 ! [H: set_nat > $o,F2: com > ( list_char > int ) > set_nat,Prod: produc1260470173ar_int] :
% 0.25/0.46 ( ( H @ ( produc991755120et_nat @ F2 @ Prod ) )
% 0.25/0.46 = ( produc668584238_int_o
% 0.25/0.46 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.25/0.46 @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.case_distrib
% 0.25/0.46 thf(fact_156_prod_Ocase__distrib,axiom,
% 0.25/0.46 ! [H: set_nat > nat,F2: com > ( list_char > int ) > set_nat,Prod: produc1260470173ar_int] :
% 0.25/0.46 ( ( H @ ( produc991755120et_nat @ F2 @ Prod ) )
% 0.25/0.46 = ( produc1311963066nt_nat
% 0.25/0.46 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.25/0.46 @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.case_distrib
% 0.25/0.46 thf(fact_157_prod_Ocase__distrib,axiom,
% 0.25/0.46 ! [H: $o > set_nat,F2: com > ( list_char > int ) > $o,Prod: produc1260470173ar_int] :
% 0.25/0.46 ( ( H @ ( produc668584238_int_o @ F2 @ Prod ) )
% 0.25/0.46 = ( produc991755120et_nat
% 0.25/0.46 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.25/0.46 @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.case_distrib
% 0.25/0.46 thf(fact_158_prod_Ocase__distrib,axiom,
% 0.25/0.46 ! [H: nat > set_nat,F2: com > ( list_char > int ) > nat,Prod: produc1260470173ar_int] :
% 0.25/0.46 ( ( H @ ( produc1311963066nt_nat @ F2 @ Prod ) )
% 0.25/0.46 = ( produc991755120et_nat
% 0.25/0.46 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.25/0.46 @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.case_distrib
% 0.25/0.46 thf(fact_159_prod_Ocase__distrib,axiom,
% 0.25/0.46 ! [H: set_nat > set_nat,F2: com > ( list_char > int ) > set_nat,Prod: produc1260470173ar_int] :
% 0.25/0.46 ( ( H @ ( produc991755120et_nat @ F2 @ Prod ) )
% 0.25/0.46 = ( produc991755120et_nat
% 0.25/0.46 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.25/0.46 @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.case_distrib
% 0.25/0.46 thf(fact_160_prod_Ocase__distrib,axiom,
% 0.25/0.46 ! [H: $o > produc1260470173ar_int,F2: com > ( list_char > int ) > $o,Prod: produc1260470173ar_int] :
% 0.25/0.46 ( ( H @ ( produc668584238_int_o @ F2 @ Prod ) )
% 0.25/0.46 = ( produc1288559923ar_int
% 0.25/0.46 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.25/0.46 @ Prod ) ) ).
% 0.25/0.46
% 0.25/0.46 % prod.case_distrib
% 0.25/0.46 thf(fact_161_ir__disj,axiom,
% 0.25/0.46 ! [P_1: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q_1: ( list_char > int ) > ( list_char > int ) > $o,P_2: ( list_char > int ) > ( list_char > int ) > $o,Q_2: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati2102071307_hoare @ P_1 @ C @ C2 @ Q_1 )
% 0.25/0.46 => ( ( relati2102071307_hoare @ P_2 @ C @ C2 @ Q_2 )
% 0.25/0.46 => ( relati2102071307_hoare
% 0.25/0.46 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.46 ( ( P_1 @ S @ S2 )
% 0.25/0.46 | ( P_2 @ S @ S2 ) )
% 0.25/0.46 @ C
% 0.25/0.46 @ C2
% 0.25/0.46 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.46 ( ( Q_1 @ T4 @ T5 )
% 0.25/0.46 | ( Q_2 @ T4 @ T5 ) ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_disj
% 0.25/0.46 thf(fact_162_assign__upd__blah,axiom,
% 0.25/0.46 ! [X1: list_char,S7: list_char > int,X2: aexp] :
% 0.25/0.46 ( ( ^ [A5: list_char] : ( if_int @ ( A5 = X1 ) @ ( S7 @ X1 ) @ ( fun_up103088396ar_int @ S7 @ X1 @ ( aval @ X2 @ S7 ) @ A5 ) ) )
% 0.25/0.46 = S7 ) ).
% 0.25/0.46
% 0.25/0.46 % assign_upd_blah
% 0.25/0.46 thf(fact_163_flip__def,axiom,
% 0.25/0.46 ( relati186416454e_flip
% 0.25/0.46 = ( ^ [P2: ( list_char > int ) > ( list_char > int ) > $o,S: list_char > int,S2: list_char > int] : ( P2 @ S2 @ S ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % flip_def
% 0.25/0.46 thf(fact_164_curry__K,axiom,
% 0.25/0.46 ! [C: $o] :
% 0.25/0.46 ( ( produc1858366159_int_o
% 0.25/0.46 @ ^ [X: produc1260470173ar_int] : C )
% 0.25/0.46 = ( ^ [X: com,Y4: list_char > int] : C ) ) ).
% 0.25/0.46
% 0.25/0.46 % curry_K
% 0.25/0.46 thf(fact_165_cond__case__prod__eta,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > set_nat,G: produc1260470173ar_int > set_nat] :
% 0.25/0.46 ( ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( F2 @ X3 @ Y3 )
% 0.25/0.46 = ( G @ ( produc1193801173ar_int @ X3 @ Y3 ) ) )
% 0.25/0.46 => ( ( produc991755120et_nat @ F2 )
% 0.25/0.46 = G ) ) ).
% 0.25/0.46
% 0.25/0.46 % cond_case_prod_eta
% 0.25/0.46 thf(fact_166_cond__case__prod__eta,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > $o,G: produc1260470173ar_int > $o] :
% 0.25/0.46 ( ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( F2 @ X3 @ Y3 )
% 0.25/0.46 = ( G @ ( produc1193801173ar_int @ X3 @ Y3 ) ) )
% 0.25/0.46 => ( ( produc668584238_int_o @ F2 )
% 0.25/0.46 = G ) ) ).
% 0.25/0.46
% 0.25/0.46 % cond_case_prod_eta
% 0.25/0.46 thf(fact_167_cond__case__prod__eta,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > nat,G: produc1260470173ar_int > nat] :
% 0.25/0.46 ( ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( F2 @ X3 @ Y3 )
% 0.25/0.46 = ( G @ ( produc1193801173ar_int @ X3 @ Y3 ) ) )
% 0.25/0.46 => ( ( produc1311963066nt_nat @ F2 )
% 0.25/0.46 = G ) ) ).
% 0.25/0.46
% 0.25/0.46 % cond_case_prod_eta
% 0.25/0.46 thf(fact_168_cond__case__prod__eta,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > produc1260470173ar_int,G: produc1260470173ar_int > produc1260470173ar_int] :
% 0.25/0.46 ( ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( F2 @ X3 @ Y3 )
% 0.25/0.46 = ( G @ ( produc1193801173ar_int @ X3 @ Y3 ) ) )
% 0.25/0.46 => ( ( produc1288559923ar_int @ F2 )
% 0.25/0.46 = G ) ) ).
% 0.25/0.46
% 0.25/0.46 % cond_case_prod_eta
% 0.25/0.46 thf(fact_169_case__prod__eta,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > set_nat] :
% 0.25/0.46 ( ( produc991755120et_nat
% 0.25/0.46 @ ^ [X: com,Y4: list_char > int] : ( F2 @ ( produc1193801173ar_int @ X @ Y4 ) ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_eta
% 0.25/0.46 thf(fact_170_case__prod__eta,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > $o] :
% 0.25/0.46 ( ( produc668584238_int_o
% 0.25/0.46 @ ^ [X: com,Y4: list_char > int] : ( F2 @ ( produc1193801173ar_int @ X @ Y4 ) ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_eta
% 0.25/0.46 thf(fact_171_case__prod__eta,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > nat] :
% 0.25/0.46 ( ( produc1311963066nt_nat
% 0.25/0.46 @ ^ [X: com,Y4: list_char > int] : ( F2 @ ( produc1193801173ar_int @ X @ Y4 ) ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_eta
% 0.25/0.46 thf(fact_172_case__prod__eta,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > produc1260470173ar_int] :
% 0.25/0.46 ( ( produc1288559923ar_int
% 0.25/0.46 @ ^ [X: com,Y4: list_char > int] : ( F2 @ ( produc1193801173ar_int @ X @ Y4 ) ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % case_prod_eta
% 0.25/0.46 thf(fact_173_case__prodE2,axiom,
% 0.25/0.46 ! [Q: set_nat > $o,P: com > ( list_char > int ) > set_nat,Z: produc1260470173ar_int] :
% 0.25/0.46 ( ( Q @ ( produc991755120et_nat @ P @ Z ) )
% 0.25/0.46 => ~ ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( Z
% 0.25/0.46 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( Q @ ( P @ X3 @ Y3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodE2
% 0.25/0.46 thf(fact_174_case__prodE2,axiom,
% 0.25/0.46 ! [Q: $o > $o,P: com > ( list_char > int ) > $o,Z: produc1260470173ar_int] :
% 0.25/0.46 ( ( Q @ ( produc668584238_int_o @ P @ Z ) )
% 0.25/0.46 => ~ ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( Z
% 0.25/0.46 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( Q @ ( P @ X3 @ Y3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodE2
% 0.25/0.46 thf(fact_175_case__prodE2,axiom,
% 0.25/0.46 ! [Q: nat > $o,P: com > ( list_char > int ) > nat,Z: produc1260470173ar_int] :
% 0.25/0.46 ( ( Q @ ( produc1311963066nt_nat @ P @ Z ) )
% 0.25/0.46 => ~ ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( Z
% 0.25/0.46 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( Q @ ( P @ X3 @ Y3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodE2
% 0.25/0.46 thf(fact_176_case__prodE2,axiom,
% 0.25/0.46 ! [Q: produc1260470173ar_int > $o,P: com > ( list_char > int ) > produc1260470173ar_int,Z: produc1260470173ar_int] :
% 0.25/0.46 ( ( Q @ ( produc1288559923ar_int @ P @ Z ) )
% 0.25/0.46 => ~ ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( Z
% 0.25/0.46 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( Q @ ( P @ X3 @ Y3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodE2
% 0.25/0.46 thf(fact_177_case__prodE,axiom,
% 0.25/0.46 ! [C: ( list_char > int ) > com > $o,P4: produc1166363805nt_com] :
% 0.25/0.46 ( ( produc613711406_com_o @ C @ P4 )
% 0.25/0.46 => ~ ! [X3: list_char > int,Y3: com] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1139835093nt_com @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( C @ X3 @ Y3 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodE
% 0.25/0.46 thf(fact_178_case__prodE,axiom,
% 0.25/0.46 ! [C: com > ( list_char > int ) > $o,P4: produc1260470173ar_int] :
% 0.25/0.46 ( ( produc668584238_int_o @ C @ P4 )
% 0.25/0.46 => ~ ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( C @ X3 @ Y3 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodE
% 0.25/0.46 thf(fact_179_case__prodD,axiom,
% 0.25/0.46 ! [F2: ( list_char > int ) > com > $o,A: list_char > int,B: com] :
% 0.25/0.46 ( ( produc613711406_com_o @ F2 @ ( produc1139835093nt_com @ A @ B ) )
% 0.25/0.46 => ( F2 @ A @ B ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodD
% 0.25/0.46 thf(fact_180_case__prodD,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > $o,A: com,B: list_char > int] :
% 0.25/0.46 ( ( produc668584238_int_o @ F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.25/0.46 => ( F2 @ A @ B ) ) ).
% 0.25/0.46
% 0.25/0.46 % case_prodD
% 0.25/0.46 thf(fact_181_mem__case__prodE,axiom,
% 0.25/0.46 ! [Z: produc1260470173ar_int,C: com > ( list_char > int ) > set_Pr1148378109ar_int,P4: produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ Z @ ( produc128852371ar_int @ C @ P4 ) )
% 0.25/0.46 => ~ ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( member92250950ar_int @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodE
% 0.25/0.46 thf(fact_182_mem__case__prodE,axiom,
% 0.25/0.46 ! [Z: produc1166363805nt_com,C: com > ( list_char > int ) > set_Pr866150653nt_com,P4: produc1260470173ar_int] :
% 0.25/0.46 ( ( member2145628230nt_com @ Z @ ( produc1994108563nt_com @ C @ P4 ) )
% 0.25/0.46 => ~ ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( member2145628230nt_com @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodE
% 0.25/0.46 thf(fact_183_mem__case__prodE,axiom,
% 0.25/0.46 ! [Z: nat,C: ( list_char > int ) > com > set_nat,P4: produc1166363805nt_com] :
% 0.25/0.46 ( ( member_nat @ Z @ ( produc1754105456et_nat @ C @ P4 ) )
% 0.25/0.46 => ~ ! [X3: list_char > int,Y3: com] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1139835093nt_com @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( member_nat @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodE
% 0.25/0.46 thf(fact_184_mem__case__prodE,axiom,
% 0.25/0.46 ! [Z: produc1260470173ar_int,C: ( list_char > int ) > com > set_Pr1148378109ar_int,P4: produc1166363805nt_com] :
% 0.25/0.46 ( ( member92250950ar_int @ Z @ ( produc1461507731ar_int @ C @ P4 ) )
% 0.25/0.46 => ~ ! [X3: list_char > int,Y3: com] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1139835093nt_com @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( member92250950ar_int @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodE
% 0.25/0.46 thf(fact_185_mem__case__prodE,axiom,
% 0.25/0.46 ! [Z: produc1166363805nt_com,C: ( list_char > int ) > com > set_Pr866150653nt_com,P4: produc1166363805nt_com] :
% 0.25/0.46 ( ( member2145628230nt_com @ Z @ ( produc1179280275nt_com @ C @ P4 ) )
% 0.25/0.46 => ~ ! [X3: list_char > int,Y3: com] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1139835093nt_com @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( member2145628230nt_com @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodE
% 0.25/0.46 thf(fact_186_mem__case__prodE,axiom,
% 0.25/0.46 ! [Z: nat,C: com > ( list_char > int ) > set_nat,P4: produc1260470173ar_int] :
% 0.25/0.46 ( ( member_nat @ Z @ ( produc991755120et_nat @ C @ P4 ) )
% 0.25/0.46 => ~ ! [X3: com,Y3: list_char > int] :
% 0.25/0.46 ( ( P4
% 0.25/0.46 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.25/0.46 => ~ ( member_nat @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % mem_case_prodE
% 0.25/0.46 thf(fact_187_old_Oprod_Ocase,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > set_nat,X1: com,X2: list_char > int] :
% 0.25/0.46 ( ( produc991755120et_nat @ F2 @ ( produc1193801173ar_int @ X1 @ X2 ) )
% 0.25/0.46 = ( F2 @ X1 @ X2 ) ) ).
% 0.25/0.46
% 0.25/0.46 % old.prod.case
% 0.25/0.46 thf(fact_188_old_Oprod_Ocase,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > $o,X1: com,X2: list_char > int] :
% 0.25/0.46 ( ( produc668584238_int_o @ F2 @ ( produc1193801173ar_int @ X1 @ X2 ) )
% 0.25/0.46 = ( F2 @ X1 @ X2 ) ) ).
% 0.25/0.46
% 0.25/0.46 % old.prod.case
% 0.25/0.46 thf(fact_189_old_Oprod_Ocase,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > nat,X1: com,X2: list_char > int] :
% 0.25/0.46 ( ( produc1311963066nt_nat @ F2 @ ( produc1193801173ar_int @ X1 @ X2 ) )
% 0.25/0.46 = ( F2 @ X1 @ X2 ) ) ).
% 0.25/0.46
% 0.25/0.46 % old.prod.case
% 0.25/0.46 thf(fact_190_old_Oprod_Ocase,axiom,
% 0.25/0.46 ! [F2: com > ( list_char > int ) > produc1260470173ar_int,X1: com,X2: list_char > int] :
% 0.25/0.46 ( ( produc1288559923ar_int @ F2 @ ( produc1193801173ar_int @ X1 @ X2 ) )
% 0.25/0.46 = ( F2 @ X1 @ X2 ) ) ).
% 0.25/0.46
% 0.25/0.46 % old.prod.case
% 0.25/0.46 thf(fact_191_ir__If__False,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C_2: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C_1: com] :
% 0.25/0.46 ( ( relati2102071307_hoare
% 0.25/0.46 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.46 ( ( P @ S @ S2 )
% 0.25/0.46 & ~ ( bval @ B @ S ) )
% 0.25/0.46 @ C_2
% 0.25/0.46 @ C2
% 0.25/0.46 @ Q )
% 0.25/0.46 => ( relati2102071307_hoare @ P @ ( if @ B @ C_1 @ C_2 ) @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_If_False
% 0.25/0.46 thf(fact_192_ir__If__True,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C_1: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C_2: com] :
% 0.25/0.46 ( ( relati2102071307_hoare
% 0.25/0.46 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.46 ( ( P @ S @ S2 )
% 0.25/0.46 & ( bval @ B @ S ) )
% 0.25/0.46 @ C_1
% 0.25/0.46 @ C2
% 0.25/0.46 @ Q )
% 0.25/0.46 => ( relati2102071307_hoare @ P @ ( if @ B @ C_1 @ C_2 ) @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_If_True
% 0.25/0.46 thf(fact_193_AssignE,axiom,
% 0.25/0.46 ! [X4: list_char,A: aexp,S7: list_char > int,T6: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ ( assign @ X4 @ A ) @ S7 ) @ T6 )
% 0.25/0.46 => ( T6
% 0.25/0.46 = ( fun_up103088396ar_int @ S7 @ X4 @ ( aval @ A @ S7 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % AssignE
% 0.25/0.46 thf(fact_194_assign__simp,axiom,
% 0.25/0.46 ! [X4: list_char,A: aexp,S7: list_char > int,S6: list_char > int] :
% 0.25/0.46 ( ( big_big_step @ ( produc1193801173ar_int @ ( assign @ X4 @ A ) @ S7 ) @ S6 )
% 0.25/0.46 = ( S6
% 0.25/0.46 = ( fun_up103088396ar_int @ S7 @ X4 @ ( aval @ A @ S7 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % assign_simp
% 0.25/0.46 thf(fact_195_Assign,axiom,
% 0.25/0.46 ! [X4: list_char,A: aexp,S7: list_char > int] : ( big_big_step @ ( produc1193801173ar_int @ ( assign @ X4 @ A ) @ S7 ) @ ( fun_up103088396ar_int @ S7 @ X4 @ ( aval @ A @ S7 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % Assign
% 0.25/0.46 thf(fact_196_ir__While__False,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C: com] :
% 0.25/0.46 ( ( relati2102071307_hoare
% 0.25/0.46 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.46 ( ( P @ S @ S2 )
% 0.25/0.46 & ~ ( bval @ B @ S ) )
% 0.25/0.46 @ skip
% 0.25/0.46 @ C2
% 0.25/0.46 @ Q )
% 0.25/0.46 => ( relati2102071307_hoare @ P @ ( while @ B @ C ) @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_While_False
% 0.25/0.46 thf(fact_197_ir__While__True,axiom,
% 0.25/0.46 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( relati2102071307_hoare
% 0.25/0.46 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.46 ( ( P @ S @ S2 )
% 0.25/0.46 & ( bval @ B @ S ) )
% 0.25/0.46 @ ( seq @ C @ ( while @ B @ C ) )
% 0.25/0.46 @ C2
% 0.25/0.46 @ Q )
% 0.25/0.46 => ( relati2102071307_hoare @ P @ ( while @ B @ C ) @ C2 @ Q ) ) ).
% 0.25/0.46
% 0.25/0.46 % ir_While_True
% 0.25/0.46 thf(fact_198_add__Suc__right,axiom,
% 0.25/0.46 ! [M: nat,N3: nat] :
% 0.25/0.46 ( ( plus_plus_nat @ M @ ( suc @ N3 ) )
% 0.25/0.46 = ( suc @ ( plus_plus_nat @ M @ N3 ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % add_Suc_right
% 0.25/0.46 thf(fact_199_image__ident,axiom,
% 0.25/0.46 ! [Y5: set_nat] :
% 0.25/0.46 ( ( image_nat_nat
% 0.25/0.46 @ ^ [X: nat] : X
% 0.25/0.46 @ Y5 )
% 0.25/0.46 = Y5 ) ).
% 0.25/0.46
% 0.25/0.46 % image_ident
% 0.25/0.46 thf(fact_200_fun__upd__upd,axiom,
% 0.25/0.46 ! [F2: list_char > int,X4: list_char,Y: int,Z: int] :
% 0.25/0.46 ( ( fun_up103088396ar_int @ ( fun_up103088396ar_int @ F2 @ X4 @ Y ) @ X4 @ Z )
% 0.25/0.46 = ( fun_up103088396ar_int @ F2 @ X4 @ Z ) ) ).
% 0.25/0.46
% 0.25/0.46 % fun_upd_upd
% 0.25/0.46 thf(fact_201_fun__upd__triv,axiom,
% 0.25/0.46 ! [F2: list_char > int,X4: list_char] :
% 0.25/0.46 ( ( fun_up103088396ar_int @ F2 @ X4 @ ( F2 @ X4 ) )
% 0.25/0.46 = F2 ) ).
% 0.25/0.46
% 0.25/0.46 % fun_upd_triv
% 0.25/0.46 thf(fact_202_fun__upd__apply,axiom,
% 0.25/0.46 ( fun_up103088396ar_int
% 0.25/0.46 = ( ^ [F: list_char > int,X: list_char,Y4: int,Z2: list_char] : ( if_int @ ( Z2 = X ) @ Y4 @ ( F @ Z2 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % fun_upd_apply
% 0.25/0.46 thf(fact_203_image__eqI,axiom,
% 0.25/0.46 ! [B: produc1260470173ar_int,F2: nat > produc1260470173ar_int,X4: nat,A4: set_nat] :
% 0.25/0.46 ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( ( member_nat @ X4 @ A4 )
% 0.25/0.46 => ( member92250950ar_int @ B @ ( image_338722310ar_int @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_eqI
% 0.25/0.46 thf(fact_204_image__eqI,axiom,
% 0.25/0.46 ! [B: produc1166363805nt_com,F2: nat > produc1166363805nt_com,X4: nat,A4: set_nat] :
% 0.25/0.46 ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( ( member_nat @ X4 @ A4 )
% 0.25/0.46 => ( member2145628230nt_com @ B @ ( image_244615942nt_com @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_eqI
% 0.25/0.46 thf(fact_205_image__eqI,axiom,
% 0.25/0.46 ! [B: nat,F2: produc1260470173ar_int > nat,X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int] :
% 0.25/0.46 ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( ( member92250950ar_int @ X4 @ A4 )
% 0.25/0.46 => ( member_nat @ B @ ( image_1742782760nt_nat @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_eqI
% 0.25/0.46 thf(fact_206_image__eqI,axiom,
% 0.25/0.46 ! [B: produc1260470173ar_int,F2: produc1260470173ar_int > produc1260470173ar_int,X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int] :
% 0.25/0.46 ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( ( member92250950ar_int @ X4 @ A4 )
% 0.25/0.46 => ( member92250950ar_int @ B @ ( image_880790597ar_int @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_eqI
% 0.25/0.46 thf(fact_207_image__eqI,axiom,
% 0.25/0.46 ! [B: produc1166363805nt_com,F2: produc1260470173ar_int > produc1166363805nt_com,X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int] :
% 0.25/0.46 ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( ( member92250950ar_int @ X4 @ A4 )
% 0.25/0.46 => ( member2145628230nt_com @ B @ ( image_786684229nt_com @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_eqI
% 0.25/0.46 thf(fact_208_image__eqI,axiom,
% 0.25/0.46 ! [B: nat,F2: produc1166363805nt_com > nat,X4: produc1166363805nt_com,A4: set_Pr866150653nt_com] :
% 0.25/0.46 ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( ( member2145628230nt_com @ X4 @ A4 )
% 0.25/0.46 => ( member_nat @ B @ ( image_596692520om_nat @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_eqI
% 0.25/0.46 thf(fact_209_image__eqI,axiom,
% 0.25/0.46 ! [B: produc1260470173ar_int,F2: produc1166363805nt_com > produc1260470173ar_int,X4: produc1166363805nt_com,A4: set_Pr866150653nt_com] :
% 0.25/0.46 ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( ( member2145628230nt_com @ X4 @ A4 )
% 0.25/0.46 => ( member92250950ar_int @ B @ ( image_1968865093ar_int @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_eqI
% 0.25/0.46 thf(fact_210_image__eqI,axiom,
% 0.25/0.46 ! [B: produc1166363805nt_com,F2: produc1166363805nt_com > produc1166363805nt_com,X4: produc1166363805nt_com,A4: set_Pr866150653nt_com] :
% 0.25/0.46 ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( ( member2145628230nt_com @ X4 @ A4 )
% 0.25/0.46 => ( member2145628230nt_com @ B @ ( image_1874758725nt_com @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_eqI
% 0.25/0.46 thf(fact_211_image__eqI,axiom,
% 0.25/0.46 ! [B: nat,F2: nat > nat,X4: nat,A4: set_nat] :
% 0.25/0.46 ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( ( member_nat @ X4 @ A4 )
% 0.25/0.46 => ( member_nat @ B @ ( image_nat_nat @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_eqI
% 0.25/0.46 thf(fact_212_old_Onat_Oinject,axiom,
% 0.25/0.46 ! [Nat: nat,Nat2: nat] :
% 0.25/0.46 ( ( ( suc @ Nat )
% 0.25/0.46 = ( suc @ Nat2 ) )
% 0.25/0.46 = ( Nat = Nat2 ) ) ).
% 0.25/0.46
% 0.25/0.46 % old.nat.inject
% 0.25/0.46 thf(fact_213_nat_Oinject,axiom,
% 0.25/0.46 ! [X2: nat,Y2: nat] :
% 0.25/0.46 ( ( ( suc @ X2 )
% 0.25/0.46 = ( suc @ Y2 ) )
% 0.25/0.46 = ( X2 = Y2 ) ) ).
% 0.25/0.46
% 0.25/0.46 % nat.inject
% 0.25/0.46 thf(fact_214_split__part,axiom,
% 0.25/0.46 ! [P: $o,Q: com > ( list_char > int ) > $o] :
% 0.25/0.46 ( ( produc668584238_int_o
% 0.25/0.46 @ ^ [A5: com,B4: list_char > int] :
% 0.25/0.46 ( P
% 0.25/0.46 & ( Q @ A5 @ B4 ) ) )
% 0.25/0.46 = ( ^ [Ab: produc1260470173ar_int] :
% 0.25/0.46 ( P
% 0.25/0.46 & ( produc668584238_int_o @ Q @ Ab ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % split_part
% 0.25/0.46 thf(fact_215_prod_Odisc__eq__case,axiom,
% 0.25/0.46 ! [Prod: produc1260470173ar_int] :
% 0.25/0.46 ( produc668584238_int_o
% 0.25/0.46 @ ^ [Uu: com,Uv: list_char > int] : $true
% 0.25/0.46 @ Prod ) ).
% 0.25/0.46
% 0.25/0.46 % prod.disc_eq_case
% 0.25/0.46 thf(fact_216_rev__image__eqI,axiom,
% 0.25/0.46 ! [X4: nat,A4: set_nat,B: produc1260470173ar_int,F2: nat > produc1260470173ar_int] :
% 0.25/0.46 ( ( member_nat @ X4 @ A4 )
% 0.25/0.46 => ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( member92250950ar_int @ B @ ( image_338722310ar_int @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % rev_image_eqI
% 0.25/0.46 thf(fact_217_rev__image__eqI,axiom,
% 0.25/0.46 ! [X4: nat,A4: set_nat,B: produc1166363805nt_com,F2: nat > produc1166363805nt_com] :
% 0.25/0.46 ( ( member_nat @ X4 @ A4 )
% 0.25/0.46 => ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( member2145628230nt_com @ B @ ( image_244615942nt_com @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % rev_image_eqI
% 0.25/0.46 thf(fact_218_rev__image__eqI,axiom,
% 0.25/0.46 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,B: nat,F2: produc1260470173ar_int > nat] :
% 0.25/0.46 ( ( member92250950ar_int @ X4 @ A4 )
% 0.25/0.46 => ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( member_nat @ B @ ( image_1742782760nt_nat @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % rev_image_eqI
% 0.25/0.46 thf(fact_219_rev__image__eqI,axiom,
% 0.25/0.46 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,B: produc1260470173ar_int,F2: produc1260470173ar_int > produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ X4 @ A4 )
% 0.25/0.46 => ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( member92250950ar_int @ B @ ( image_880790597ar_int @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % rev_image_eqI
% 0.25/0.46 thf(fact_220_rev__image__eqI,axiom,
% 0.25/0.46 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,B: produc1166363805nt_com,F2: produc1260470173ar_int > produc1166363805nt_com] :
% 0.25/0.46 ( ( member92250950ar_int @ X4 @ A4 )
% 0.25/0.46 => ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( member2145628230nt_com @ B @ ( image_786684229nt_com @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % rev_image_eqI
% 0.25/0.46 thf(fact_221_rev__image__eqI,axiom,
% 0.25/0.46 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,B: nat,F2: produc1166363805nt_com > nat] :
% 0.25/0.46 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.25/0.46 => ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( member_nat @ B @ ( image_596692520om_nat @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % rev_image_eqI
% 0.25/0.46 thf(fact_222_rev__image__eqI,axiom,
% 0.25/0.46 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,B: produc1260470173ar_int,F2: produc1166363805nt_com > produc1260470173ar_int] :
% 0.25/0.46 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.25/0.46 => ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( member92250950ar_int @ B @ ( image_1968865093ar_int @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % rev_image_eqI
% 0.25/0.46 thf(fact_223_rev__image__eqI,axiom,
% 0.25/0.46 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,B: produc1166363805nt_com,F2: produc1166363805nt_com > produc1166363805nt_com] :
% 0.25/0.46 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.25/0.46 => ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( member2145628230nt_com @ B @ ( image_1874758725nt_com @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % rev_image_eqI
% 0.25/0.46 thf(fact_224_rev__image__eqI,axiom,
% 0.25/0.46 ! [X4: nat,A4: set_nat,B: nat,F2: nat > nat] :
% 0.25/0.46 ( ( member_nat @ X4 @ A4 )
% 0.25/0.46 => ( ( B
% 0.25/0.46 = ( F2 @ X4 ) )
% 0.25/0.46 => ( member_nat @ B @ ( image_nat_nat @ F2 @ A4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % rev_image_eqI
% 0.25/0.46 thf(fact_225_ball__imageD,axiom,
% 0.25/0.46 ! [F2: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com,P: produc1260470173ar_int > $o] :
% 0.25/0.46 ( ! [X3: produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ X3 @ ( image_1968865093ar_int @ F2 @ A4 ) )
% 0.25/0.46 => ( P @ X3 ) )
% 0.25/0.46 => ! [X5: produc1166363805nt_com] :
% 0.25/0.46 ( ( member2145628230nt_com @ X5 @ A4 )
% 0.25/0.46 => ( P @ ( F2 @ X5 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ball_imageD
% 0.25/0.46 thf(fact_226_ball__imageD,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > produc1166363805nt_com,A4: set_Pr1148378109ar_int,P: produc1166363805nt_com > $o] :
% 0.25/0.46 ( ! [X3: produc1166363805nt_com] :
% 0.25/0.46 ( ( member2145628230nt_com @ X3 @ ( image_786684229nt_com @ F2 @ A4 ) )
% 0.25/0.46 => ( P @ X3 ) )
% 0.25/0.46 => ! [X5: produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ X5 @ A4 )
% 0.25/0.46 => ( P @ ( F2 @ X5 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ball_imageD
% 0.25/0.46 thf(fact_227_ball__imageD,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > nat,A4: set_Pr1148378109ar_int,P: nat > $o] :
% 0.25/0.46 ( ! [X3: nat] :
% 0.25/0.46 ( ( member_nat @ X3 @ ( image_1742782760nt_nat @ F2 @ A4 ) )
% 0.25/0.46 => ( P @ X3 ) )
% 0.25/0.46 => ! [X5: produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ X5 @ A4 )
% 0.25/0.46 => ( P @ ( F2 @ X5 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ball_imageD
% 0.25/0.46 thf(fact_228_ball__imageD,axiom,
% 0.25/0.46 ! [F2: nat > nat,A4: set_nat,P: nat > $o] :
% 0.25/0.46 ( ! [X3: nat] :
% 0.25/0.46 ( ( member_nat @ X3 @ ( image_nat_nat @ F2 @ A4 ) )
% 0.25/0.46 => ( P @ X3 ) )
% 0.25/0.46 => ! [X5: nat] :
% 0.25/0.46 ( ( member_nat @ X5 @ A4 )
% 0.25/0.46 => ( P @ ( F2 @ X5 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % ball_imageD
% 0.25/0.46 thf(fact_229_image__cong,axiom,
% 0.25/0.46 ! [M2: set_Pr1148378109ar_int,N4: set_Pr1148378109ar_int,F2: produc1260470173ar_int > produc1166363805nt_com,G: produc1260470173ar_int > produc1166363805nt_com] :
% 0.25/0.46 ( ( M2 = N4 )
% 0.25/0.46 => ( ! [X3: produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ X3 @ N4 )
% 0.25/0.46 => ( ( F2 @ X3 )
% 0.25/0.46 = ( G @ X3 ) ) )
% 0.25/0.46 => ( ( image_786684229nt_com @ F2 @ M2 )
% 0.25/0.46 = ( image_786684229nt_com @ G @ N4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_cong
% 0.25/0.46 thf(fact_230_image__cong,axiom,
% 0.25/0.46 ! [M2: set_Pr1148378109ar_int,N4: set_Pr1148378109ar_int,F2: produc1260470173ar_int > nat,G: produc1260470173ar_int > nat] :
% 0.25/0.46 ( ( M2 = N4 )
% 0.25/0.46 => ( ! [X3: produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ X3 @ N4 )
% 0.25/0.46 => ( ( F2 @ X3 )
% 0.25/0.46 = ( G @ X3 ) ) )
% 0.25/0.46 => ( ( image_1742782760nt_nat @ F2 @ M2 )
% 0.25/0.46 = ( image_1742782760nt_nat @ G @ N4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_cong
% 0.25/0.46 thf(fact_231_image__cong,axiom,
% 0.25/0.46 ! [M2: set_Pr866150653nt_com,N4: set_Pr866150653nt_com,F2: produc1166363805nt_com > produc1260470173ar_int,G: produc1166363805nt_com > produc1260470173ar_int] :
% 0.25/0.46 ( ( M2 = N4 )
% 0.25/0.46 => ( ! [X3: produc1166363805nt_com] :
% 0.25/0.46 ( ( member2145628230nt_com @ X3 @ N4 )
% 0.25/0.46 => ( ( F2 @ X3 )
% 0.25/0.46 = ( G @ X3 ) ) )
% 0.25/0.46 => ( ( image_1968865093ar_int @ F2 @ M2 )
% 0.25/0.46 = ( image_1968865093ar_int @ G @ N4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_cong
% 0.25/0.46 thf(fact_232_image__cong,axiom,
% 0.25/0.46 ! [M2: set_nat,N4: set_nat,F2: nat > nat,G: nat > nat] :
% 0.25/0.46 ( ( M2 = N4 )
% 0.25/0.46 => ( ! [X3: nat] :
% 0.25/0.46 ( ( member_nat @ X3 @ N4 )
% 0.25/0.46 => ( ( F2 @ X3 )
% 0.25/0.46 = ( G @ X3 ) ) )
% 0.25/0.46 => ( ( image_nat_nat @ F2 @ M2 )
% 0.25/0.46 = ( image_nat_nat @ G @ N4 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_cong
% 0.25/0.46 thf(fact_233_bex__imageD,axiom,
% 0.25/0.46 ! [F2: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com,P: produc1260470173ar_int > $o] :
% 0.25/0.46 ( ? [X5: produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ X5 @ ( image_1968865093ar_int @ F2 @ A4 ) )
% 0.25/0.46 & ( P @ X5 ) )
% 0.25/0.46 => ? [X3: produc1166363805nt_com] :
% 0.25/0.46 ( ( member2145628230nt_com @ X3 @ A4 )
% 0.25/0.46 & ( P @ ( F2 @ X3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % bex_imageD
% 0.25/0.46 thf(fact_234_bex__imageD,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > produc1166363805nt_com,A4: set_Pr1148378109ar_int,P: produc1166363805nt_com > $o] :
% 0.25/0.46 ( ? [X5: produc1166363805nt_com] :
% 0.25/0.46 ( ( member2145628230nt_com @ X5 @ ( image_786684229nt_com @ F2 @ A4 ) )
% 0.25/0.46 & ( P @ X5 ) )
% 0.25/0.46 => ? [X3: produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ X3 @ A4 )
% 0.25/0.46 & ( P @ ( F2 @ X3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % bex_imageD
% 0.25/0.46 thf(fact_235_bex__imageD,axiom,
% 0.25/0.46 ! [F2: produc1260470173ar_int > nat,A4: set_Pr1148378109ar_int,P: nat > $o] :
% 0.25/0.46 ( ? [X5: nat] :
% 0.25/0.46 ( ( member_nat @ X5 @ ( image_1742782760nt_nat @ F2 @ A4 ) )
% 0.25/0.46 & ( P @ X5 ) )
% 0.25/0.46 => ? [X3: produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ X3 @ A4 )
% 0.25/0.46 & ( P @ ( F2 @ X3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % bex_imageD
% 0.25/0.46 thf(fact_236_bex__imageD,axiom,
% 0.25/0.46 ! [F2: nat > nat,A4: set_nat,P: nat > $o] :
% 0.25/0.46 ( ? [X5: nat] :
% 0.25/0.46 ( ( member_nat @ X5 @ ( image_nat_nat @ F2 @ A4 ) )
% 0.25/0.46 & ( P @ X5 ) )
% 0.25/0.46 => ? [X3: nat] :
% 0.25/0.46 ( ( member_nat @ X3 @ A4 )
% 0.25/0.46 & ( P @ ( F2 @ X3 ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % bex_imageD
% 0.25/0.46 thf(fact_237_image__iff,axiom,
% 0.25/0.46 ! [Z: nat,F2: produc1260470173ar_int > nat,A4: set_Pr1148378109ar_int] :
% 0.25/0.46 ( ( member_nat @ Z @ ( image_1742782760nt_nat @ F2 @ A4 ) )
% 0.25/0.46 = ( ? [X: produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ X @ A4 )
% 0.25/0.46 & ( Z
% 0.25/0.46 = ( F2 @ X ) ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_iff
% 0.25/0.46 thf(fact_238_image__iff,axiom,
% 0.25/0.46 ! [Z: produc1260470173ar_int,F2: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com] :
% 0.25/0.46 ( ( member92250950ar_int @ Z @ ( image_1968865093ar_int @ F2 @ A4 ) )
% 0.25/0.46 = ( ? [X: produc1166363805nt_com] :
% 0.25/0.46 ( ( member2145628230nt_com @ X @ A4 )
% 0.25/0.46 & ( Z
% 0.25/0.46 = ( F2 @ X ) ) ) ) ) ).
% 0.25/0.46
% 0.25/0.46 % image_iff
% 0.25/0.46 thf(fact_239_image__iff,axiom,
% 0.25/0.46 ! [Z: produc1166363805nt_com,F2: produc1260470173ar_int > produc1166363805nt_com,A4: set_Pr1148378109ar_int] :
% 0.25/0.46 ( ( member2145628230nt_com @ Z @ ( image_786684229nt_com @ F2 @ A4 ) )
% 0.25/0.46 = ( ? [X: produc1260470173ar_int] :
% 0.25/0.46 ( ( member92250950ar_int @ X @ A4 )
% 0.25/0.47 & ( Z
% 0.25/0.47 = ( F2 @ X ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % image_iff
% 0.25/0.47 thf(fact_240_image__iff,axiom,
% 0.25/0.47 ! [Z: nat,F2: nat > nat,A4: set_nat] :
% 0.25/0.47 ( ( member_nat @ Z @ ( image_nat_nat @ F2 @ A4 ) )
% 0.25/0.47 = ( ? [X: nat] :
% 0.25/0.47 ( ( member_nat @ X @ A4 )
% 0.25/0.47 & ( Z
% 0.25/0.47 = ( F2 @ X ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % image_iff
% 0.25/0.47 thf(fact_241_imageI,axiom,
% 0.25/0.47 ! [X4: nat,A4: set_nat,F2: nat > produc1260470173ar_int] :
% 0.25/0.47 ( ( member_nat @ X4 @ A4 )
% 0.25/0.47 => ( member92250950ar_int @ ( F2 @ X4 ) @ ( image_338722310ar_int @ F2 @ A4 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % imageI
% 0.25/0.47 thf(fact_242_imageI,axiom,
% 0.25/0.47 ! [X4: nat,A4: set_nat,F2: nat > produc1166363805nt_com] :
% 0.25/0.47 ( ( member_nat @ X4 @ A4 )
% 0.25/0.47 => ( member2145628230nt_com @ ( F2 @ X4 ) @ ( image_244615942nt_com @ F2 @ A4 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % imageI
% 0.25/0.47 thf(fact_243_imageI,axiom,
% 0.25/0.47 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,F2: produc1260470173ar_int > nat] :
% 0.25/0.47 ( ( member92250950ar_int @ X4 @ A4 )
% 0.25/0.47 => ( member_nat @ ( F2 @ X4 ) @ ( image_1742782760nt_nat @ F2 @ A4 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % imageI
% 0.25/0.47 thf(fact_244_imageI,axiom,
% 0.25/0.47 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,F2: produc1260470173ar_int > produc1260470173ar_int] :
% 0.25/0.47 ( ( member92250950ar_int @ X4 @ A4 )
% 0.25/0.47 => ( member92250950ar_int @ ( F2 @ X4 ) @ ( image_880790597ar_int @ F2 @ A4 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % imageI
% 0.25/0.47 thf(fact_245_imageI,axiom,
% 0.25/0.47 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,F2: produc1260470173ar_int > produc1166363805nt_com] :
% 0.25/0.47 ( ( member92250950ar_int @ X4 @ A4 )
% 0.25/0.47 => ( member2145628230nt_com @ ( F2 @ X4 ) @ ( image_786684229nt_com @ F2 @ A4 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % imageI
% 0.25/0.47 thf(fact_246_imageI,axiom,
% 0.25/0.47 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,F2: produc1166363805nt_com > nat] :
% 0.25/0.47 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.25/0.47 => ( member_nat @ ( F2 @ X4 ) @ ( image_596692520om_nat @ F2 @ A4 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % imageI
% 0.25/0.47 thf(fact_247_imageI,axiom,
% 0.25/0.47 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,F2: produc1166363805nt_com > produc1260470173ar_int] :
% 0.25/0.47 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.25/0.47 => ( member92250950ar_int @ ( F2 @ X4 ) @ ( image_1968865093ar_int @ F2 @ A4 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % imageI
% 0.25/0.47 thf(fact_248_imageI,axiom,
% 0.25/0.47 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,F2: produc1166363805nt_com > produc1166363805nt_com] :
% 0.25/0.47 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.25/0.47 => ( member2145628230nt_com @ ( F2 @ X4 ) @ ( image_1874758725nt_com @ F2 @ A4 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % imageI
% 0.25/0.47 thf(fact_249_imageI,axiom,
% 0.25/0.47 ! [X4: nat,A4: set_nat,F2: nat > nat] :
% 0.25/0.47 ( ( member_nat @ X4 @ A4 )
% 0.25/0.47 => ( member_nat @ ( F2 @ X4 ) @ ( image_nat_nat @ F2 @ A4 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % imageI
% 0.25/0.47 thf(fact_250_n__not__Suc__n,axiom,
% 0.25/0.47 ! [N3: nat] :
% 0.25/0.47 ( N3
% 0.25/0.47 != ( suc @ N3 ) ) ).
% 0.25/0.47
% 0.25/0.47 % n_not_Suc_n
% 0.25/0.47 thf(fact_251_Suc__inject,axiom,
% 0.25/0.47 ! [X4: nat,Y: nat] :
% 0.25/0.47 ( ( ( suc @ X4 )
% 0.25/0.47 = ( suc @ Y ) )
% 0.25/0.47 => ( X4 = Y ) ) ).
% 0.25/0.47
% 0.25/0.47 % Suc_inject
% 0.25/0.47 thf(fact_252_fun__upd__idem__iff,axiom,
% 0.25/0.47 ! [F2: list_char > int,X4: list_char,Y: int] :
% 0.25/0.47 ( ( ( fun_up103088396ar_int @ F2 @ X4 @ Y )
% 0.25/0.47 = F2 )
% 0.25/0.47 = ( ( F2 @ X4 )
% 0.25/0.47 = Y ) ) ).
% 0.25/0.47
% 0.25/0.47 % fun_upd_idem_iff
% 0.25/0.47 thf(fact_253_fun__upd__twist,axiom,
% 0.25/0.47 ! [A: list_char,C: list_char,M: list_char > int,B: int,D: int] :
% 0.25/0.47 ( ( A != C )
% 0.25/0.47 => ( ( fun_up103088396ar_int @ ( fun_up103088396ar_int @ M @ A @ B ) @ C @ D )
% 0.25/0.47 = ( fun_up103088396ar_int @ ( fun_up103088396ar_int @ M @ C @ D ) @ A @ B ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % fun_upd_twist
% 0.25/0.47 thf(fact_254_fun__upd__other,axiom,
% 0.25/0.47 ! [Z: list_char,X4: list_char,F2: list_char > int,Y: int] :
% 0.25/0.47 ( ( Z != X4 )
% 0.25/0.47 => ( ( fun_up103088396ar_int @ F2 @ X4 @ Y @ Z )
% 0.25/0.47 = ( F2 @ Z ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % fun_upd_other
% 0.25/0.47 thf(fact_255_fun__upd__same,axiom,
% 0.25/0.47 ! [F2: list_char > int,X4: list_char,Y: int] :
% 0.25/0.47 ( ( fun_up103088396ar_int @ F2 @ X4 @ Y @ X4 )
% 0.25/0.47 = Y ) ).
% 0.25/0.47
% 0.25/0.47 % fun_upd_same
% 0.25/0.47 thf(fact_256_fun__upd__idem,axiom,
% 0.25/0.47 ! [F2: list_char > int,X4: list_char,Y: int] :
% 0.25/0.47 ( ( ( F2 @ X4 )
% 0.25/0.47 = Y )
% 0.25/0.47 => ( ( fun_up103088396ar_int @ F2 @ X4 @ Y )
% 0.25/0.47 = F2 ) ) ).
% 0.25/0.47
% 0.25/0.47 % fun_upd_idem
% 0.25/0.47 thf(fact_257_fun__upd__eqD,axiom,
% 0.25/0.47 ! [F2: list_char > int,X4: list_char,Y: int,G: list_char > int,Z: int] :
% 0.25/0.47 ( ( ( fun_up103088396ar_int @ F2 @ X4 @ Y )
% 0.25/0.47 = ( fun_up103088396ar_int @ G @ X4 @ Z ) )
% 0.25/0.47 => ( Y = Z ) ) ).
% 0.25/0.47
% 0.25/0.47 % fun_upd_eqD
% 0.25/0.47 thf(fact_258_fun__upd__def,axiom,
% 0.25/0.47 ( fun_up103088396ar_int
% 0.25/0.47 = ( ^ [F: list_char > int,A5: list_char,B4: int,X: list_char] : ( if_int @ ( X = A5 ) @ B4 @ ( F @ X ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % fun_upd_def
% 0.25/0.47 thf(fact_259_Compr__image__eq,axiom,
% 0.25/0.47 ! [F2: produc1260470173ar_int > produc1260470173ar_int,A4: set_Pr1148378109ar_int,P: produc1260470173ar_int > $o] :
% 0.25/0.47 ( ( collec770796680ar_int
% 0.25/0.47 @ ^ [X: produc1260470173ar_int] :
% 0.25/0.47 ( ( member92250950ar_int @ X @ ( image_880790597ar_int @ F2 @ A4 ) )
% 0.25/0.47 & ( P @ X ) ) )
% 0.25/0.47 = ( image_880790597ar_int @ F2
% 0.25/0.47 @ ( collec770796680ar_int
% 0.25/0.47 @ ^ [X: produc1260470173ar_int] :
% 0.25/0.47 ( ( member92250950ar_int @ X @ A4 )
% 0.25/0.47 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % Compr_image_eq
% 0.25/0.47 thf(fact_260_Compr__image__eq,axiom,
% 0.25/0.47 ! [F2: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com,P: produc1260470173ar_int > $o] :
% 0.25/0.47 ( ( collec770796680ar_int
% 0.25/0.47 @ ^ [X: produc1260470173ar_int] :
% 0.25/0.47 ( ( member92250950ar_int @ X @ ( image_1968865093ar_int @ F2 @ A4 ) )
% 0.25/0.47 & ( P @ X ) ) )
% 0.25/0.47 = ( image_1968865093ar_int @ F2
% 0.25/0.47 @ ( collec676690312nt_com
% 0.25/0.47 @ ^ [X: produc1166363805nt_com] :
% 0.25/0.47 ( ( member2145628230nt_com @ X @ A4 )
% 0.25/0.47 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % Compr_image_eq
% 0.25/0.47 thf(fact_261_Compr__image__eq,axiom,
% 0.25/0.47 ! [F2: produc1260470173ar_int > produc1166363805nt_com,A4: set_Pr1148378109ar_int,P: produc1166363805nt_com > $o] :
% 0.25/0.47 ( ( collec676690312nt_com
% 0.25/0.47 @ ^ [X: produc1166363805nt_com] :
% 0.25/0.47 ( ( member2145628230nt_com @ X @ ( image_786684229nt_com @ F2 @ A4 ) )
% 0.25/0.47 & ( P @ X ) ) )
% 0.25/0.47 = ( image_786684229nt_com @ F2
% 0.25/0.47 @ ( collec770796680ar_int
% 0.25/0.47 @ ^ [X: produc1260470173ar_int] :
% 0.25/0.47 ( ( member92250950ar_int @ X @ A4 )
% 0.25/0.47 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % Compr_image_eq
% 0.25/0.47 thf(fact_262_Compr__image__eq,axiom,
% 0.25/0.47 ! [F2: produc1166363805nt_com > produc1166363805nt_com,A4: set_Pr866150653nt_com,P: produc1166363805nt_com > $o] :
% 0.25/0.47 ( ( collec676690312nt_com
% 0.25/0.47 @ ^ [X: produc1166363805nt_com] :
% 0.25/0.47 ( ( member2145628230nt_com @ X @ ( image_1874758725nt_com @ F2 @ A4 ) )
% 0.25/0.47 & ( P @ X ) ) )
% 0.25/0.47 = ( image_1874758725nt_com @ F2
% 0.25/0.47 @ ( collec676690312nt_com
% 0.25/0.47 @ ^ [X: produc1166363805nt_com] :
% 0.25/0.47 ( ( member2145628230nt_com @ X @ A4 )
% 0.25/0.47 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % Compr_image_eq
% 0.25/0.47 thf(fact_263_Compr__image__eq,axiom,
% 0.25/0.47 ! [F2: nat > produc1260470173ar_int,A4: set_nat,P: produc1260470173ar_int > $o] :
% 0.25/0.47 ( ( collec770796680ar_int
% 0.25/0.47 @ ^ [X: produc1260470173ar_int] :
% 0.25/0.47 ( ( member92250950ar_int @ X @ ( image_338722310ar_int @ F2 @ A4 ) )
% 0.25/0.47 & ( P @ X ) ) )
% 0.25/0.47 = ( image_338722310ar_int @ F2
% 0.25/0.47 @ ( collect_nat
% 0.25/0.47 @ ^ [X: nat] :
% 0.25/0.47 ( ( member_nat @ X @ A4 )
% 0.25/0.47 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % Compr_image_eq
% 0.25/0.47 thf(fact_264_Compr__image__eq,axiom,
% 0.25/0.47 ! [F2: nat > produc1166363805nt_com,A4: set_nat,P: produc1166363805nt_com > $o] :
% 0.25/0.47 ( ( collec676690312nt_com
% 0.25/0.47 @ ^ [X: produc1166363805nt_com] :
% 0.25/0.47 ( ( member2145628230nt_com @ X @ ( image_244615942nt_com @ F2 @ A4 ) )
% 0.25/0.47 & ( P @ X ) ) )
% 0.25/0.47 = ( image_244615942nt_com @ F2
% 0.25/0.47 @ ( collect_nat
% 0.25/0.47 @ ^ [X: nat] :
% 0.25/0.47 ( ( member_nat @ X @ A4 )
% 0.25/0.47 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % Compr_image_eq
% 0.25/0.47 thf(fact_265_Compr__image__eq,axiom,
% 0.25/0.47 ! [F2: produc1260470173ar_int > nat,A4: set_Pr1148378109ar_int,P: nat > $o] :
% 0.25/0.47 ( ( collect_nat
% 0.25/0.47 @ ^ [X: nat] :
% 0.25/0.47 ( ( member_nat @ X @ ( image_1742782760nt_nat @ F2 @ A4 ) )
% 0.25/0.47 & ( P @ X ) ) )
% 0.25/0.47 = ( image_1742782760nt_nat @ F2
% 0.25/0.47 @ ( collec770796680ar_int
% 0.25/0.47 @ ^ [X: produc1260470173ar_int] :
% 0.25/0.47 ( ( member92250950ar_int @ X @ A4 )
% 0.25/0.47 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % Compr_image_eq
% 0.25/0.47 thf(fact_266_Compr__image__eq,axiom,
% 0.25/0.47 ! [F2: produc1166363805nt_com > nat,A4: set_Pr866150653nt_com,P: nat > $o] :
% 0.25/0.47 ( ( collect_nat
% 0.25/0.47 @ ^ [X: nat] :
% 0.25/0.47 ( ( member_nat @ X @ ( image_596692520om_nat @ F2 @ A4 ) )
% 0.25/0.47 & ( P @ X ) ) )
% 0.25/0.47 = ( image_596692520om_nat @ F2
% 0.25/0.47 @ ( collec676690312nt_com
% 0.25/0.47 @ ^ [X: produc1166363805nt_com] :
% 0.25/0.47 ( ( member2145628230nt_com @ X @ A4 )
% 0.25/0.47 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % Compr_image_eq
% 0.25/0.47 thf(fact_267_Compr__image__eq,axiom,
% 0.25/0.47 ! [F2: nat > nat,A4: set_nat,P: nat > $o] :
% 0.25/0.47 ( ( collect_nat
% 0.25/0.47 @ ^ [X: nat] :
% 0.25/0.47 ( ( member_nat @ X @ ( image_nat_nat @ F2 @ A4 ) )
% 0.25/0.47 & ( P @ X ) ) )
% 0.25/0.47 = ( image_nat_nat @ F2
% 0.25/0.47 @ ( collect_nat
% 0.25/0.47 @ ^ [X: nat] :
% 0.25/0.47 ( ( member_nat @ X @ A4 )
% 0.25/0.47 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % Compr_image_eq
% 0.25/0.47 thf(fact_268_image__image,axiom,
% 0.25/0.47 ! [F2: produc1260470173ar_int > produc1166363805nt_com,G: produc1260470173ar_int > produc1260470173ar_int,A4: set_Pr1148378109ar_int] :
% 0.25/0.47 ( ( image_786684229nt_com @ F2 @ ( image_880790597ar_int @ G @ A4 ) )
% 0.25/0.47 = ( image_786684229nt_com
% 0.25/0.47 @ ^ [X: produc1260470173ar_int] : ( F2 @ ( G @ X ) )
% 0.25/0.47 @ A4 ) ) ).
% 0.25/0.47
% 0.25/0.47 % image_image
% 0.25/0.47 thf(fact_269_image__image,axiom,
% 0.25/0.47 ! [F2: produc1260470173ar_int > produc1166363805nt_com,G: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com] :
% 0.25/0.47 ( ( image_786684229nt_com @ F2 @ ( image_1968865093ar_int @ G @ A4 ) )
% 0.25/0.47 = ( image_1874758725nt_com
% 0.25/0.47 @ ^ [X: produc1166363805nt_com] : ( F2 @ ( G @ X ) )
% 0.25/0.47 @ A4 ) ) ).
% 0.25/0.47
% 0.25/0.47 % image_image
% 0.25/0.47 thf(fact_270_image__image,axiom,
% 0.25/0.47 ! [F2: produc1260470173ar_int > nat,G: nat > produc1260470173ar_int,A4: set_nat] :
% 0.25/0.47 ( ( image_1742782760nt_nat @ F2 @ ( image_338722310ar_int @ G @ A4 ) )
% 0.25/0.47 = ( image_nat_nat
% 0.25/0.47 @ ^ [X: nat] : ( F2 @ ( G @ X ) )
% 0.25/0.47 @ A4 ) ) ).
% 0.25/0.47
% 0.25/0.47 % image_image
% 0.25/0.47 thf(fact_271_image__image,axiom,
% 0.25/0.47 ! [F2: produc1260470173ar_int > nat,G: produc1260470173ar_int > produc1260470173ar_int,A4: set_Pr1148378109ar_int] :
% 0.25/0.47 ( ( image_1742782760nt_nat @ F2 @ ( image_880790597ar_int @ G @ A4 ) )
% 0.25/0.47 = ( image_1742782760nt_nat
% 0.25/0.47 @ ^ [X: produc1260470173ar_int] : ( F2 @ ( G @ X ) )
% 0.25/0.47 @ A4 ) ) ).
% 0.25/0.47
% 0.25/0.47 % image_image
% 0.25/0.47 thf(fact_272_image__image,axiom,
% 0.25/0.47 ! [F2: produc1260470173ar_int > nat,G: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com] :
% 0.25/0.47 ( ( image_1742782760nt_nat @ F2 @ ( image_1968865093ar_int @ G @ A4 ) )
% 0.25/0.47 = ( image_596692520om_nat
% 0.25/0.47 @ ^ [X: produc1166363805nt_com] : ( F2 @ ( G @ X ) )
% 0.25/0.47 @ A4 ) ) ).
% 0.25/0.47
% 0.25/0.47 % image_image
% 0.25/0.47 thf(fact_273_image__image,axiom,
% 0.25/0.47 ! [F2: nat > nat,G: nat > nat,A4: set_nat] :
% 0.25/0.47 ( ( image_nat_nat @ F2 @ ( image_nat_nat @ G @ A4 ) )
% 0.25/0.47 = ( image_nat_nat
% 0.25/0.47 @ ^ [X: nat] : ( F2 @ ( G @ X ) )
% 0.25/0.47 @ A4 ) ) ).
% 0.25/0.47
% 0.25/0.47 % image_image
% 0.25/0.47 thf(fact_274_imageE,axiom,
% 0.25/0.47 ! [B: nat,F2: nat > nat,A4: set_nat] :
% 0.25/0.47 ( ( member_nat @ B @ ( image_nat_nat @ F2 @ A4 ) )
% 0.25/0.47 => ~ ! [X3: nat] :
% 0.25/0.47 ( ( B
% 0.25/0.47 = ( F2 @ X3 ) )
% 0.25/0.47 => ~ ( member_nat @ X3 @ A4 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % imageE
% 0.25/0.47 thf(fact_275_add__Suc,axiom,
% 0.25/0.47 ! [M: nat,N3: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ ( suc @ M ) @ N3 )
% 0.25/0.47 = ( suc @ ( plus_plus_nat @ M @ N3 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_Suc
% 0.25/0.47 thf(fact_276_nat__arith_Osuc1,axiom,
% 0.25/0.47 ! [A4: nat,K: nat,A: nat] :
% 0.25/0.47 ( ( A4
% 0.25/0.47 = ( plus_plus_nat @ K @ A ) )
% 0.25/0.47 => ( ( suc @ A4 )
% 0.25/0.47 = ( plus_plus_nat @ K @ ( suc @ A ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % nat_arith.suc1
% 0.25/0.47 thf(fact_277_add__Suc__shift,axiom,
% 0.25/0.47 ! [M: nat,N3: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ ( suc @ M ) @ N3 )
% 0.25/0.47 = ( plus_plus_nat @ M @ ( suc @ N3 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_Suc_shift
% 0.25/0.47 thf(fact_278_add__right__cancel,axiom,
% 0.25/0.47 ! [B: nat,A: nat,C: nat] :
% 0.25/0.47 ( ( ( plus_plus_nat @ B @ A )
% 0.25/0.47 = ( plus_plus_nat @ C @ A ) )
% 0.25/0.47 = ( B = C ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_right_cancel
% 0.25/0.47 thf(fact_279_add__left__cancel,axiom,
% 0.25/0.47 ! [A: nat,B: nat,C: nat] :
% 0.25/0.47 ( ( ( plus_plus_nat @ A @ B )
% 0.25/0.47 = ( plus_plus_nat @ A @ C ) )
% 0.25/0.47 = ( B = C ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_left_cancel
% 0.25/0.47 thf(fact_280_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
% 0.25/0.47 ! [A: nat,B: nat,C: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
% 0.25/0.47 = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % ab_semigroup_add_class.add_ac(1)
% 0.25/0.47 thf(fact_281_add__mono__thms__linordered__semiring_I4_J,axiom,
% 0.25/0.47 ! [I: nat,J: nat,K: nat,L: nat] :
% 0.25/0.47 ( ( ( I = J )
% 0.25/0.47 & ( K = L ) )
% 0.25/0.47 => ( ( plus_plus_nat @ I @ K )
% 0.25/0.47 = ( plus_plus_nat @ J @ L ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_mono_thms_linordered_semiring(4)
% 0.25/0.47 thf(fact_282_group__cancel_Oadd1,axiom,
% 0.25/0.47 ! [A4: nat,K: nat,A: nat,B: nat] :
% 0.25/0.47 ( ( A4
% 0.25/0.47 = ( plus_plus_nat @ K @ A ) )
% 0.25/0.47 => ( ( plus_plus_nat @ A4 @ B )
% 0.25/0.47 = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % group_cancel.add1
% 0.25/0.47 thf(fact_283_group__cancel_Oadd2,axiom,
% 0.25/0.47 ! [B5: nat,K: nat,B: nat,A: nat] :
% 0.25/0.47 ( ( B5
% 0.25/0.47 = ( plus_plus_nat @ K @ B ) )
% 0.25/0.47 => ( ( plus_plus_nat @ A @ B5 )
% 0.25/0.47 = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % group_cancel.add2
% 0.25/0.47 thf(fact_284_add_Oassoc,axiom,
% 0.25/0.47 ! [A: nat,B: nat,C: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
% 0.25/0.47 = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % add.assoc
% 0.25/0.47 thf(fact_285_add_Ocommute,axiom,
% 0.25/0.47 ( plus_plus_nat
% 0.25/0.47 = ( ^ [A5: nat,B4: nat] : ( plus_plus_nat @ B4 @ A5 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % add.commute
% 0.25/0.47 thf(fact_286_add_Oleft__commute,axiom,
% 0.25/0.47 ! [B: nat,A: nat,C: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ B @ ( plus_plus_nat @ A @ C ) )
% 0.25/0.47 = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % add.left_commute
% 0.25/0.47 thf(fact_287_add__left__imp__eq,axiom,
% 0.25/0.47 ! [A: nat,B: nat,C: nat] :
% 0.25/0.47 ( ( ( plus_plus_nat @ A @ B )
% 0.25/0.47 = ( plus_plus_nat @ A @ C ) )
% 0.25/0.47 => ( B = C ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_left_imp_eq
% 0.25/0.47 thf(fact_288_add__right__imp__eq,axiom,
% 0.25/0.47 ! [B: nat,A: nat,C: nat] :
% 0.25/0.47 ( ( ( plus_plus_nat @ B @ A )
% 0.25/0.47 = ( plus_plus_nat @ C @ A ) )
% 0.25/0.47 => ( B = C ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_right_imp_eq
% 0.25/0.47 thf(fact_289_case__prod__Pair__iden,axiom,
% 0.25/0.47 ! [P4: produc1260470173ar_int] :
% 0.25/0.47 ( ( produc1288559923ar_int @ produc1193801173ar_int @ P4 )
% 0.25/0.47 = P4 ) ).
% 0.25/0.47
% 0.25/0.47 % case_prod_Pair_iden
% 0.25/0.47 thf(fact_290_Assign__ir__valid,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,X4: list_char,E: aexp,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.47 ( ( relati775585786_valid
% 0.25/0.47 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.47 ? [V3: int] :
% 0.25/0.47 ( ( P @ ( fun_up103088396ar_int @ T4 @ X4 @ V3 ) @ T5 )
% 0.25/0.47 & ( ( T4 @ X4 )
% 0.25/0.47 = ( aval @ E @ ( fun_up103088396ar_int @ T4 @ X4 @ V3 ) ) ) )
% 0.25/0.47 @ skip
% 0.25/0.47 @ C2
% 0.25/0.47 @ Q )
% 0.25/0.47 => ( relati775585786_valid @ P @ ( assign @ X4 @ E ) @ C2 @ Q ) ) ).
% 0.25/0.47
% 0.25/0.47 % Assign_ir_valid
% 0.25/0.47 thf(fact_291_ir__Assign,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,X4: list_char,E: aexp,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.47 ( ( relati2102071307_hoare
% 0.25/0.47 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.47 ? [V3: int] :
% 0.25/0.47 ( ( P @ ( fun_up103088396ar_int @ T4 @ X4 @ V3 ) @ T5 )
% 0.25/0.47 & ( ( T4 @ X4 )
% 0.25/0.47 = ( aval @ E @ ( fun_up103088396ar_int @ T4 @ X4 @ V3 ) ) ) )
% 0.25/0.47 @ skip
% 0.25/0.47 @ C2
% 0.25/0.47 @ Q )
% 0.25/0.47 => ( relati2102071307_hoare @ P @ ( assign @ X4 @ E ) @ C2 @ Q ) ) ).
% 0.25/0.47
% 0.25/0.47 % ir_Assign
% 0.25/0.47 thf(fact_292_setcompr__eq__image,axiom,
% 0.25/0.47 ! [F2: nat > nat,P: nat > $o] :
% 0.25/0.47 ( ( collect_nat
% 0.25/0.47 @ ^ [Uu: nat] :
% 0.25/0.47 ? [X: nat] :
% 0.25/0.47 ( ( Uu
% 0.25/0.47 = ( F2 @ X ) )
% 0.25/0.47 & ( P @ X ) ) )
% 0.25/0.47 = ( image_nat_nat @ F2 @ ( collect_nat @ P ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % setcompr_eq_image
% 0.25/0.47 thf(fact_293_Setcompr__eq__image,axiom,
% 0.25/0.47 ! [F2: nat > nat,A4: set_nat] :
% 0.25/0.47 ( ( collect_nat
% 0.25/0.47 @ ^ [Uu: nat] :
% 0.25/0.47 ? [X: nat] :
% 0.25/0.47 ( ( Uu
% 0.25/0.47 = ( F2 @ X ) )
% 0.25/0.47 & ( member_nat @ X @ A4 ) ) )
% 0.25/0.47 = ( image_nat_nat @ F2 @ A4 ) ) ).
% 0.25/0.47
% 0.25/0.47 % Setcompr_eq_image
% 0.25/0.47 thf(fact_294_ir__valid__While2,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.47 ( ( relati775585786_valid @ P @ ( while @ B @ C ) @ C2 @ Q )
% 0.25/0.47 => ( relati775585786_valid
% 0.25/0.47 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( P @ S @ S2 )
% 0.25/0.47 & ~ ( bval @ B @ S ) )
% 0.25/0.47 @ skip
% 0.25/0.47 @ C2
% 0.25/0.47 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.47 ( ( Q @ T4 @ T5 )
% 0.25/0.47 & ? [S2: list_char > int] :
% 0.25/0.47 ( ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.25/0.47 & ( P @ T4 @ S2 )
% 0.25/0.47 & ~ ( bval @ B @ T4 ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % ir_valid_While2
% 0.25/0.47 thf(fact_295_ir__valid__Seq1_H,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C1: com,C22: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.47 ( ( relati775585786_valid @ P @ ( seq @ C1 @ C22 ) @ C2 @ Q )
% 0.25/0.47 => ( relati775585786_valid
% 0.25/0.47 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.47 ? [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( P @ S @ S2 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C1 @ S ) @ T4 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.25/0.47 & ? [U2: list_char > int] :
% 0.25/0.47 ( ( big_big_step @ ( produc1193801173ar_int @ C22 @ T4 ) @ U2 )
% 0.25/0.47 & ( Q @ U2 @ T5 ) ) )
% 0.25/0.47 @ C22
% 0.25/0.47 @ skip
% 0.25/0.47 @ Q ) ) ).
% 0.25/0.47
% 0.25/0.47 % ir_valid_Seq1'
% 0.25/0.47 thf(fact_296_ir__valid__track__history,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,S7: list_char > int,S6: list_char > int] :
% 0.25/0.47 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.25/0.47 => ( relati775585786_valid @ P @ C @ C2
% 0.25/0.47 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.47 ( ( Q @ S7 @ S6 )
% 0.25/0.47 & ? [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( P @ S @ S2 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C @ S ) @ T4 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % ir_valid_track_history
% 0.25/0.47 thf(fact_297_decomp__def,axiom,
% 0.25/0.47 ( relati1310524937decomp
% 0.25/0.47 = ( ^ [P2: ( list_char > int ) > ( list_char > int ) > $o,C3: com,C4: com,Q2: ( list_char > int ) > ( list_char > int ) > $o,T4: list_char > int,S2: list_char > int] :
% 0.25/0.47 ? [S: list_char > int,T5: list_char > int] :
% 0.25/0.47 ( ( P2 @ S @ S2 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C3 @ S ) @ T4 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C4 @ S2 ) @ T5 )
% 0.25/0.47 & ( Q2 @ T4 @ T5 ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % decomp_def
% 0.25/0.47 thf(fact_298_ir__valid__Seq1,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C1: com,C22: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.47 ( ( relati775585786_valid @ P @ ( seq @ C1 @ C22 ) @ C2 @ Q )
% 0.25/0.47 => ( relati775585786_valid @ P @ C1 @ C2
% 0.25/0.47 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.47 ? [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( P @ S @ S2 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C1 @ S ) @ T4 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.25/0.47 & ? [U2: list_char > int] :
% 0.25/0.47 ( ( big_big_step @ ( produc1193801173ar_int @ C22 @ T4 ) @ U2 )
% 0.25/0.47 & ( Q @ U2 @ T5 ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % ir_valid_Seq1
% 0.25/0.47 thf(fact_299_ir__valid__If,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C1: com,C22: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.47 ( ( relati775585786_valid @ P @ ( if @ B @ C1 @ C22 ) @ C2 @ Q )
% 0.25/0.47 => ( ( relati775585786_valid
% 0.25/0.47 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( P @ S @ S2 )
% 0.25/0.47 & ( bval @ B @ S ) )
% 0.25/0.47 @ C1
% 0.25/0.47 @ C2
% 0.25/0.47 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.47 ( ( Q @ T4 @ T5 )
% 0.25/0.47 & ? [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( P @ S @ S2 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C1 @ S ) @ T4 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.25/0.47 & ( bval @ B @ S ) ) ) )
% 0.25/0.47 & ( relati775585786_valid
% 0.25/0.47 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( P @ S @ S2 )
% 0.25/0.47 & ~ ( bval @ B @ S ) )
% 0.25/0.47 @ C22
% 0.25/0.47 @ C2
% 0.25/0.47 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.47 ( ( Q @ T4 @ T5 )
% 0.25/0.47 & ? [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( P @ S @ S2 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C22 @ S ) @ T4 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.25/0.47 & ~ ( bval @ B @ S ) ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % ir_valid_If
% 0.25/0.47 thf(fact_300_get__back_Osimps_I2_J,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,N3: nat] :
% 0.25/0.47 ( ( relati23543761ar_int @ P @ B @ C @ ( suc @ N3 ) )
% 0.25/0.47 = ( ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.47 ? [S: list_char > int] :
% 0.25/0.47 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S ) @ T4 )
% 0.25/0.47 & ( bval @ B @ S )
% 0.25/0.47 & ( relati23543761ar_int @ P @ B @ C @ N3 @ S @ T5 ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % get_back.simps(2)
% 0.25/0.47 thf(fact_301_ir__valid__While1,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,K: nat,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.47 ( ( relati775585786_valid @ ( relati23543761ar_int @ P @ B @ C @ K ) @ ( while @ B @ C ) @ C2 @ Q )
% 0.25/0.47 => ( relati775585786_valid
% 0.25/0.47 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( relati23543761ar_int @ P @ B @ C @ K @ S @ S2 )
% 0.25/0.47 & ( bval @ B @ S ) )
% 0.25/0.47 @ C
% 0.25/0.47 @ skip
% 0.25/0.47 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.47 ( ( relati23543761ar_int @ P @ B @ C @ ( suc @ K ) @ T4 @ T5 )
% 0.25/0.47 & ? [U2: list_char > int,U3: list_char > int] :
% 0.25/0.47 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ T4 ) @ U2 )
% 0.25/0.47 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ T5 ) @ U3 )
% 0.25/0.47 & ( Q @ U2 @ U3 ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % ir_valid_While1
% 0.25/0.47 thf(fact_302_ir__valid__get__back,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,K: nat,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.47 ( ( relati775585786_valid @ ( relati23543761ar_int @ P @ B @ C @ ( suc @ K ) ) @ ( while @ B @ C ) @ C2 @ Q )
% 0.25/0.47 => ( relati775585786_valid @ ( relati23543761ar_int @ P @ B @ C @ K ) @ ( while @ B @ C ) @ C2 @ Q ) ) ).
% 0.25/0.47
% 0.25/0.47 % ir_valid_get_back
% 0.25/0.47 thf(fact_303_ir__valid__While3,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,K: nat,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.47 ( ( relati775585786_valid @ ( relati23543761ar_int @ P @ B @ C @ K ) @ ( while @ B @ C ) @ C2 @ Q )
% 0.25/0.47 => ( relati775585786_valid
% 0.25/0.47 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( relati23543761ar_int @ P @ B @ C @ K @ S @ S2 )
% 0.25/0.47 & ( bval @ B @ S ) )
% 0.25/0.47 @ C
% 0.25/0.47 @ C2
% 0.25/0.47 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.25/0.47 ? [S2: list_char > int] :
% 0.25/0.47 ( ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.25/0.47 & ( relati23543761ar_int @ P @ B @ C @ ( suc @ K ) @ T4 @ S2 )
% 0.25/0.47 & ? [U2: list_char > int] :
% 0.25/0.47 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ T4 ) @ U2 )
% 0.25/0.47 & ( Q @ U2 @ T5 ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % ir_valid_While3
% 0.25/0.47 thf(fact_304_While__backwards__frontier__ir__valid,axiom,
% 0.25/0.47 ! [P: nat > ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.47 ( ! [N: nat] :
% 0.25/0.47 ( relati775585786_valid
% 0.25/0.47 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( P @ N @ S @ S2 )
% 0.25/0.47 & ( bval @ B @ S ) )
% 0.25/0.47 @ C
% 0.25/0.47 @ skip
% 0.25/0.47 @ ( P @ ( suc @ N ) ) )
% 0.25/0.47 => ( ( relati775585786_valid
% 0.25/0.47 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ? [N5: nat] : ( P @ N5 @ S @ S2 )
% 0.25/0.47 @ ( while @ B @ C )
% 0.25/0.47 @ C2
% 0.25/0.47 @ Q )
% 0.25/0.47 => ( relati775585786_valid @ ( P @ zero_zero_nat ) @ ( while @ B @ C ) @ C2 @ Q ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % While_backwards_frontier_ir_valid
% 0.25/0.47 thf(fact_305_ir__While__backwards__frontier,axiom,
% 0.25/0.47 ! [P: nat > ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.25/0.47 ( ! [N: nat] :
% 0.25/0.47 ( relati2102071307_hoare
% 0.25/0.47 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ( ( P @ N @ S @ S2 )
% 0.25/0.47 & ( bval @ B @ S ) )
% 0.25/0.47 @ C
% 0.25/0.47 @ skip
% 0.25/0.47 @ ( P @ ( suc @ N ) ) )
% 0.25/0.47 => ( ( relati2102071307_hoare
% 0.25/0.47 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.25/0.47 ? [N5: nat] : ( P @ N5 @ S @ S2 )
% 0.25/0.47 @ ( while @ B @ C )
% 0.25/0.47 @ C2
% 0.25/0.47 @ Q )
% 0.25/0.47 => ( relati2102071307_hoare @ ( P @ zero_zero_nat ) @ ( while @ B @ C ) @ C2 @ Q ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % ir_While_backwards_frontier
% 0.25/0.47 thf(fact_306_add_Oleft__neutral,axiom,
% 0.25/0.47 ! [A: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ zero_zero_nat @ A )
% 0.25/0.47 = A ) ).
% 0.25/0.47
% 0.25/0.47 % add.left_neutral
% 0.25/0.47 thf(fact_307_add_Oright__neutral,axiom,
% 0.25/0.47 ! [A: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ A @ zero_zero_nat )
% 0.25/0.47 = A ) ).
% 0.25/0.47
% 0.25/0.47 % add.right_neutral
% 0.25/0.47 thf(fact_308_add__cancel__left__left,axiom,
% 0.25/0.47 ! [B: nat,A: nat] :
% 0.25/0.47 ( ( ( plus_plus_nat @ B @ A )
% 0.25/0.47 = A )
% 0.25/0.47 = ( B = zero_zero_nat ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_cancel_left_left
% 0.25/0.47 thf(fact_309_add__cancel__left__right,axiom,
% 0.25/0.47 ! [A: nat,B: nat] :
% 0.25/0.47 ( ( ( plus_plus_nat @ A @ B )
% 0.25/0.47 = A )
% 0.25/0.47 = ( B = zero_zero_nat ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_cancel_left_right
% 0.25/0.47 thf(fact_310_add__cancel__right__left,axiom,
% 0.25/0.47 ! [A: nat,B: nat] :
% 0.25/0.47 ( ( A
% 0.25/0.47 = ( plus_plus_nat @ B @ A ) )
% 0.25/0.47 = ( B = zero_zero_nat ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_cancel_right_left
% 0.25/0.47 thf(fact_311_add__cancel__right__right,axiom,
% 0.25/0.47 ! [A: nat,B: nat] :
% 0.25/0.47 ( ( A
% 0.25/0.47 = ( plus_plus_nat @ A @ B ) )
% 0.25/0.47 = ( B = zero_zero_nat ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_cancel_right_right
% 0.25/0.47 thf(fact_312_add__eq__0__iff__both__eq__0,axiom,
% 0.25/0.47 ! [X4: nat,Y: nat] :
% 0.25/0.47 ( ( ( plus_plus_nat @ X4 @ Y )
% 0.25/0.47 = zero_zero_nat )
% 0.25/0.47 = ( ( X4 = zero_zero_nat )
% 0.25/0.47 & ( Y = zero_zero_nat ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_eq_0_iff_both_eq_0
% 0.25/0.47 thf(fact_313_zero__eq__add__iff__both__eq__0,axiom,
% 0.25/0.47 ! [X4: nat,Y: nat] :
% 0.25/0.47 ( ( zero_zero_nat
% 0.25/0.47 = ( plus_plus_nat @ X4 @ Y ) )
% 0.25/0.47 = ( ( X4 = zero_zero_nat )
% 0.25/0.47 & ( Y = zero_zero_nat ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % zero_eq_add_iff_both_eq_0
% 0.25/0.47 thf(fact_314_Nat_Oadd__0__right,axiom,
% 0.25/0.47 ! [M: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ M @ zero_zero_nat )
% 0.25/0.47 = M ) ).
% 0.25/0.47
% 0.25/0.47 % Nat.add_0_right
% 0.25/0.47 thf(fact_315_add__is__0,axiom,
% 0.25/0.47 ! [M: nat,N3: nat] :
% 0.25/0.47 ( ( ( plus_plus_nat @ M @ N3 )
% 0.25/0.47 = zero_zero_nat )
% 0.25/0.47 = ( ( M = zero_zero_nat )
% 0.25/0.47 & ( N3 = zero_zero_nat ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_is_0
% 0.25/0.47 thf(fact_316_image__add__0,axiom,
% 0.25/0.47 ! [S9: set_nat] :
% 0.25/0.47 ( ( image_nat_nat @ ( plus_plus_nat @ zero_zero_nat ) @ S9 )
% 0.25/0.47 = S9 ) ).
% 0.25/0.47
% 0.25/0.47 % image_add_0
% 0.25/0.47 thf(fact_317_get__back_Osimps_I1_J,axiom,
% 0.25/0.47 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com] :
% 0.25/0.47 ( ( relati23543761ar_int @ P @ B @ C @ zero_zero_nat )
% 0.25/0.47 = P ) ).
% 0.25/0.47
% 0.25/0.47 % get_back.simps(1)
% 0.25/0.47 thf(fact_318_nat_Odistinct_I1_J,axiom,
% 0.25/0.47 ! [X2: nat] :
% 0.25/0.47 ( zero_zero_nat
% 0.25/0.47 != ( suc @ X2 ) ) ).
% 0.25/0.47
% 0.25/0.47 % nat.distinct(1)
% 0.25/0.47 thf(fact_319_old_Onat_Odistinct_I2_J,axiom,
% 0.25/0.47 ! [Nat2: nat] :
% 0.25/0.47 ( ( suc @ Nat2 )
% 0.25/0.47 != zero_zero_nat ) ).
% 0.25/0.47
% 0.25/0.47 % old.nat.distinct(2)
% 0.25/0.47 thf(fact_320_old_Onat_Odistinct_I1_J,axiom,
% 0.25/0.47 ! [Nat2: nat] :
% 0.25/0.47 ( zero_zero_nat
% 0.25/0.47 != ( suc @ Nat2 ) ) ).
% 0.25/0.47
% 0.25/0.47 % old.nat.distinct(1)
% 0.25/0.47 thf(fact_321_nat_OdiscI,axiom,
% 0.25/0.47 ! [Nat: nat,X2: nat] :
% 0.25/0.47 ( ( Nat
% 0.25/0.47 = ( suc @ X2 ) )
% 0.25/0.47 => ( Nat != zero_zero_nat ) ) ).
% 0.25/0.47
% 0.25/0.47 % nat.discI
% 0.25/0.47 thf(fact_322_nat__induct,axiom,
% 0.25/0.47 ! [P: nat > $o,N3: nat] :
% 0.25/0.47 ( ( P @ zero_zero_nat )
% 0.25/0.47 => ( ! [N: nat] :
% 0.25/0.47 ( ( P @ N )
% 0.25/0.47 => ( P @ ( suc @ N ) ) )
% 0.25/0.47 => ( P @ N3 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % nat_induct
% 0.25/0.47 thf(fact_323_diff__induct,axiom,
% 0.25/0.47 ! [P: nat > nat > $o,M: nat,N3: nat] :
% 0.25/0.47 ( ! [X3: nat] : ( P @ X3 @ zero_zero_nat )
% 0.25/0.47 => ( ! [Y3: nat] : ( P @ zero_zero_nat @ ( suc @ Y3 ) )
% 0.25/0.47 => ( ! [X3: nat,Y3: nat] :
% 0.25/0.47 ( ( P @ X3 @ Y3 )
% 0.25/0.47 => ( P @ ( suc @ X3 ) @ ( suc @ Y3 ) ) )
% 0.25/0.47 => ( P @ M @ N3 ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % diff_induct
% 0.25/0.47 thf(fact_324_zero__induct,axiom,
% 0.25/0.47 ! [P: nat > $o,K: nat] :
% 0.25/0.47 ( ( P @ K )
% 0.25/0.47 => ( ! [N: nat] :
% 0.25/0.47 ( ( P @ ( suc @ N ) )
% 0.25/0.47 => ( P @ N ) )
% 0.25/0.47 => ( P @ zero_zero_nat ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % zero_induct
% 0.25/0.47 thf(fact_325_Suc__neq__Zero,axiom,
% 0.25/0.47 ! [M: nat] :
% 0.25/0.47 ( ( suc @ M )
% 0.25/0.47 != zero_zero_nat ) ).
% 0.25/0.47
% 0.25/0.47 % Suc_neq_Zero
% 0.25/0.47 thf(fact_326_Zero__neq__Suc,axiom,
% 0.25/0.47 ! [M: nat] :
% 0.25/0.47 ( zero_zero_nat
% 0.25/0.47 != ( suc @ M ) ) ).
% 0.25/0.47
% 0.25/0.47 % Zero_neq_Suc
% 0.25/0.47 thf(fact_327_Zero__not__Suc,axiom,
% 0.25/0.47 ! [M: nat] :
% 0.25/0.47 ( zero_zero_nat
% 0.25/0.47 != ( suc @ M ) ) ).
% 0.25/0.47
% 0.25/0.47 % Zero_not_Suc
% 0.25/0.47 thf(fact_328_old_Onat_Oexhaust,axiom,
% 0.25/0.47 ! [Y: nat] :
% 0.25/0.47 ( ( Y != zero_zero_nat )
% 0.25/0.47 => ~ ! [Nat3: nat] :
% 0.25/0.47 ( Y
% 0.25/0.47 != ( suc @ Nat3 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % old.nat.exhaust
% 0.25/0.47 thf(fact_329_old_Onat_Oinducts,axiom,
% 0.25/0.47 ! [P: nat > $o,Nat: nat] :
% 0.25/0.47 ( ( P @ zero_zero_nat )
% 0.25/0.47 => ( ! [Nat3: nat] :
% 0.25/0.47 ( ( P @ Nat3 )
% 0.25/0.47 => ( P @ ( suc @ Nat3 ) ) )
% 0.25/0.47 => ( P @ Nat ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % old.nat.inducts
% 0.25/0.47 thf(fact_330_not0__implies__Suc,axiom,
% 0.25/0.47 ! [N3: nat] :
% 0.25/0.47 ( ( N3 != zero_zero_nat )
% 0.25/0.47 => ? [M3: nat] :
% 0.25/0.47 ( N3
% 0.25/0.47 = ( suc @ M3 ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % not0_implies_Suc
% 0.25/0.47 thf(fact_331_comm__monoid__add__class_Oadd__0,axiom,
% 0.25/0.47 ! [A: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ zero_zero_nat @ A )
% 0.25/0.47 = A ) ).
% 0.25/0.47
% 0.25/0.47 % comm_monoid_add_class.add_0
% 0.25/0.47 thf(fact_332_add_Ocomm__neutral,axiom,
% 0.25/0.47 ! [A: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ A @ zero_zero_nat )
% 0.25/0.47 = A ) ).
% 0.25/0.47
% 0.25/0.47 % add.comm_neutral
% 0.25/0.47 thf(fact_333_add__eq__self__zero,axiom,
% 0.25/0.47 ! [M: nat,N3: nat] :
% 0.25/0.47 ( ( ( plus_plus_nat @ M @ N3 )
% 0.25/0.47 = M )
% 0.25/0.47 => ( N3 = zero_zero_nat ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_eq_self_zero
% 0.25/0.47 thf(fact_334_plus__nat_Oadd__0,axiom,
% 0.25/0.47 ! [N3: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ zero_zero_nat @ N3 )
% 0.25/0.47 = N3 ) ).
% 0.25/0.47
% 0.25/0.47 % plus_nat.add_0
% 0.25/0.47 thf(fact_335_one__is__add,axiom,
% 0.25/0.47 ! [M: nat,N3: nat] :
% 0.25/0.47 ( ( ( suc @ zero_zero_nat )
% 0.25/0.47 = ( plus_plus_nat @ M @ N3 ) )
% 0.25/0.47 = ( ( ( M
% 0.25/0.47 = ( suc @ zero_zero_nat ) )
% 0.25/0.47 & ( N3 = zero_zero_nat ) )
% 0.25/0.47 | ( ( M = zero_zero_nat )
% 0.25/0.47 & ( N3
% 0.25/0.47 = ( suc @ zero_zero_nat ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % one_is_add
% 0.25/0.47 thf(fact_336_add__is__1,axiom,
% 0.25/0.47 ! [M: nat,N3: nat] :
% 0.25/0.47 ( ( ( plus_plus_nat @ M @ N3 )
% 0.25/0.47 = ( suc @ zero_zero_nat ) )
% 0.25/0.47 = ( ( ( M
% 0.25/0.47 = ( suc @ zero_zero_nat ) )
% 0.25/0.47 & ( N3 = zero_zero_nat ) )
% 0.25/0.47 | ( ( M = zero_zero_nat )
% 0.25/0.47 & ( N3
% 0.25/0.47 = ( suc @ zero_zero_nat ) ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_is_1
% 0.25/0.47 thf(fact_337_com_Osize__gen_I4_J,axiom,
% 0.25/0.47 ! [X41: bexp,X42: com,X43: com] :
% 0.25/0.47 ( ( size_com @ ( if @ X41 @ X42 @ X43 ) )
% 0.25/0.47 = ( plus_plus_nat @ ( plus_plus_nat @ ( size_com @ X42 ) @ ( size_com @ X43 ) ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % com.size_gen(4)
% 0.25/0.47 thf(fact_338_com_Osize__gen_I3_J,axiom,
% 0.25/0.47 ! [X31: com,X32: com] :
% 0.25/0.47 ( ( size_com @ ( seq @ X31 @ X32 ) )
% 0.25/0.47 = ( plus_plus_nat @ ( plus_plus_nat @ ( size_com @ X31 ) @ ( size_com @ X32 ) ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % com.size_gen(3)
% 0.25/0.47 thf(fact_339_com_Osize__gen_I1_J,axiom,
% 0.25/0.47 ( ( size_com @ skip )
% 0.25/0.47 = zero_zero_nat ) ).
% 0.25/0.47
% 0.25/0.47 % com.size_gen(1)
% 0.25/0.47 thf(fact_340_com_Osize__gen_I2_J,axiom,
% 0.25/0.47 ! [X21: list_char,X22: aexp] :
% 0.25/0.47 ( ( size_com @ ( assign @ X21 @ X22 ) )
% 0.25/0.47 = zero_zero_nat ) ).
% 0.25/0.47
% 0.25/0.47 % com.size_gen(2)
% 0.25/0.47 thf(fact_341_com_Osize__gen_I5_J,axiom,
% 0.25/0.47 ! [X51: bexp,X52: com] :
% 0.25/0.47 ( ( size_com @ ( while @ X51 @ X52 ) )
% 0.25/0.47 = ( plus_plus_nat @ ( size_com @ X52 ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % com.size_gen(5)
% 0.25/0.47 thf(fact_342_com_Osize_I9_J,axiom,
% 0.25/0.47 ! [X41: bexp,X42: com,X43: com] :
% 0.25/0.47 ( ( size_size_com @ ( if @ X41 @ X42 @ X43 ) )
% 0.25/0.47 = ( plus_plus_nat @ ( plus_plus_nat @ ( size_size_com @ X42 ) @ ( size_size_com @ X43 ) ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % com.size(9)
% 0.25/0.47 thf(fact_343_com_Osize_I8_J,axiom,
% 0.25/0.47 ! [X31: com,X32: com] :
% 0.25/0.47 ( ( size_size_com @ ( seq @ X31 @ X32 ) )
% 0.25/0.47 = ( plus_plus_nat @ ( plus_plus_nat @ ( size_size_com @ X31 ) @ ( size_size_com @ X32 ) ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % com.size(8)
% 0.25/0.47 thf(fact_344_com_Osize_I6_J,axiom,
% 0.25/0.47 ( ( size_size_com @ skip )
% 0.25/0.47 = zero_zero_nat ) ).
% 0.25/0.47
% 0.25/0.47 % com.size(6)
% 0.25/0.47 thf(fact_345_com_Osize_I7_J,axiom,
% 0.25/0.47 ! [X21: list_char,X22: aexp] :
% 0.25/0.47 ( ( size_size_com @ ( assign @ X21 @ X22 ) )
% 0.25/0.47 = zero_zero_nat ) ).
% 0.25/0.47
% 0.25/0.47 % com.size(7)
% 0.25/0.47 thf(fact_346_com_Osize_I10_J,axiom,
% 0.25/0.47 ! [X51: bexp,X52: com] :
% 0.25/0.47 ( ( size_size_com @ ( while @ X51 @ X52 ) )
% 0.25/0.47 = ( plus_plus_nat @ ( size_size_com @ X52 ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % com.size(10)
% 0.25/0.47 thf(fact_347_Euclid__induct,axiom,
% 0.25/0.47 ! [P: nat > nat > $o,A: nat,B: nat] :
% 0.25/0.47 ( ! [A3: nat,B3: nat] :
% 0.25/0.47 ( ( P @ A3 @ B3 )
% 0.25/0.47 = ( P @ B3 @ A3 ) )
% 0.25/0.47 => ( ! [A3: nat] : ( P @ A3 @ zero_zero_nat )
% 0.25/0.47 => ( ! [A3: nat,B3: nat] :
% 0.25/0.47 ( ( P @ A3 @ B3 )
% 0.25/0.47 => ( P @ A3 @ ( plus_plus_nat @ A3 @ B3 ) ) )
% 0.25/0.47 => ( P @ A @ B ) ) ) ) ).
% 0.25/0.47
% 0.25/0.47 % Euclid_induct
% 0.25/0.47 thf(fact_348_zero__notin__Suc__image,axiom,
% 0.25/0.47 ! [A4: set_nat] :
% 0.25/0.47 ~ ( member_nat @ zero_zero_nat @ ( image_nat_nat @ suc @ A4 ) ) ).
% 0.25/0.47
% 0.25/0.47 % zero_notin_Suc_image
% 0.25/0.47 thf(fact_349_add__0__iff,axiom,
% 0.25/0.47 ! [B: nat,A: nat] :
% 0.25/0.47 ( ( B
% 0.25/0.47 = ( plus_plus_nat @ B @ A ) )
% 0.25/0.47 = ( A = zero_zero_nat ) ) ).
% 0.25/0.47
% 0.25/0.47 % add_0_iff
% 0.25/0.47 thf(fact_350_verit__sum__simplify,axiom,
% 0.25/0.47 ! [A: nat] :
% 0.25/0.47 ( ( plus_plus_nat @ A @ zero_zero_nat )
% 0.25/0.47 = A ) ).
% 0.25/0.47
% 0.25/0.47 % verit_sum_simplify
% 0.25/0.47 thf(fact_351_Inf_OINF__identity__eq,axiom,
% 0.25/0.47 ! [Inf: set_nat > nat,A4: set_nat] :
% 0.25/0.47 ( ( Inf
% 0.25/0.47 @ ( image_nat_nat
% 0.25/0.47 @ ^ [X: nat] : X
% 0.25/0.47 @ A4 ) )
% 0.25/0.47 = ( Inf @ A4 ) ) ).
% 0.25/0.47
% 0.25/0.47 % Inf.INF_identity_eq
% 0.25/0.47
% 0.25/0.47 % Helper facts (3)
% 0.25/0.47 thf(help_If_3_1_If_001t__Int__Oint_T,axiom,
% 0.25/0.47 ! [P: $o] :
% 0.25/0.47 ( ( P = $true )
% 0.25/0.47 | ( P = $false ) ) ).
% 0.25/0.47
% 0.25/0.47 thf(help_If_2_1_If_001t__Int__Oint_T,axiom,
% 0.25/0.47 ! [X4: int,Y: int] :
% 0.25/0.47 ( ( if_int @ $false @ X4 @ Y )
% 0.25/0.47 = Y ) ).
% 0.25/0.47
% 0.25/0.47 thf(help_If_1_1_If_001t__Int__Oint_T,axiom,
% 0.25/0.47 ! [X4: int,Y: int] :
% 0.25/0.47 ( ( if_int @ $true @ X4 @ Y )
% 0.25/0.47 = X4 ) ).
% 0.25/0.47
% 0.25/0.47 % Conjectures (1)
% 0.25/0.47 thf(conj_0,conjecture,
% 0.25/0.47 ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
% 0.25/0.47 = ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
% 0.25/0.47 & ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q ) ) ) ).
% 0.25/0.47
% 0.25/0.47 %------------------------------------------------------------------------------
% 0.25/0.47 ------------------------
% 0.30/1.51 ---- Embedded in THF ---
% 0.30/1.51 %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 0.30/1.51 %%% Generated on Tue Feb 24 08:29:22 EST 2026
% 0.30/1.51 %%% using '$$dhol' embedding, version 1.3.0.
% 0.30/1.51 %%% Logic specification used:
% 0.30/1.51 %%% thf(spec, logic, $$dhol).
% 0.30/1.51
% 0.30/1.51 % SZS output start ListOfTHF for /export/starexec/sandbox2/tmp/tmp.wyCdcgzg4L/DTF2DTF3095.p
% See solution above
% 0.30/1.51 ------------------------
% 0.30/1.55 ---- Cleaned THF ---
% 0.30/1.55 thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_J,type,
% 0.30/1.55 set_Pr1148378109ar_int: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_J,type,
% 0.30/1.55 set_Pr866150653nt_com: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.30/1.55 produc1260470173ar_int: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.30/1.55 produc1166363805nt_com: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
% 0.30/1.55 set_set_nat: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__List__Olist_It__String__Ochar_J,type,
% 0.30/1.55 list_char: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
% 0.30/1.55 set_nat: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__Set__Oset_I_Eo_J,type,
% 0.30/1.55 set_o: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__BExp__Obexp,type,
% 0.30/1.55 bexp: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__AExp__Oaexp,type,
% 0.30/1.55 aexp: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__Nat__Onat,type,
% 0.30/1.55 nat: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__Int__Oint,type,
% 0.30/1.55 int: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(ty_n_t__Com__Ocom,type,
% 0.30/1.55 com: $tType ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_AExp_Oaval,type,
% 0.30/1.55 aval: aexp > ( list_char > int ) > int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_BExp_Obval,type,
% 0.30/1.55 bval: bexp > ( list_char > int ) > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Big__Step_Obig__step,type,
% 0.30/1.55 big_big_step: produc1260470173ar_int > ( list_char > int ) > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Com_Ocom_OAssign,type,
% 0.30/1.55 assign: list_char > aexp > com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Com_Ocom_OIf,type,
% 0.30/1.55 if: bexp > com > com > com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Com_Ocom_OSKIP,type,
% 0.30/1.55 skip: com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Com_Ocom_OSeq,type,
% 0.30/1.55 seq: com > com > com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Com_Ocom_OWhile,type,
% 0.30/1.55 while: bexp > com > com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Com_Ocom_Osize__com,type,
% 0.30/1.55 size_com: com > nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Fun_Ofun__upd_001t__List__Olist_It__String__Ochar_J_001t__Int__Oint,type,
% 0.30/1.55 fun_up103088396ar_int: ( list_char > int ) > list_char > int > list_char > int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat,type,
% 0.30/1.55 plus_plus_nat: nat > nat > nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
% 0.30/1.55 zero_zero_nat: nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_If_001t__Int__Oint,type,
% 0.30/1.55 if_int: $o > int > int > int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Nat_OSuc,type,
% 0.30/1.55 suc: nat > nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Nat_Osize__class_Osize_001t__Com__Ocom,type,
% 0.30/1.55 size_size_com: com > nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_OPair_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom,type,
% 0.30/1.55 produc1139835093nt_com: ( list_char > int ) > com > produc1166363805nt_com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_OPair_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J,type,
% 0.30/1.55 produc1193801173ar_int: com > ( list_char > int ) > produc1260470173ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Ocurry_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001_Eo,type,
% 0.30/1.55 produc1803493327_com_o: ( produc1166363805nt_com > $o ) > ( list_char > int ) > com > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Ocurry_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001_Eo,type,
% 0.30/1.55 produc1858366159_int_o: ( produc1260470173ar_int > $o ) > com > ( list_char > int ) > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Ocurry_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Nat__Onat,type,
% 0.30/1.55 produc763543641nt_nat: ( produc1260470173ar_int > nat ) > com > ( list_char > int ) > nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Ocurry_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.30/1.55 produc804153044ar_int: ( produc1260470173ar_int > produc1260470173ar_int ) > com > ( list_char > int ) > produc1260470173ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Ocurry_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.30/1.55 produc1791150095et_nat: ( produc1260470173ar_int > set_nat ) > com > ( list_char > int ) > set_nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Ointernal__case__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001_Eo,type,
% 0.30/1.55 produc9062872_int_o: ( com > ( list_char > int ) > $o ) > produc1260470173ar_int > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Ointernal__case__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Nat__Onat,type,
% 0.30/1.55 produc641693072nt_nat: ( com > ( list_char > int ) > nat ) > produc1260470173ar_int > nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Ointernal__case__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.30/1.55 produc837840349ar_int: ( com > ( list_char > int ) > produc1260470173ar_int ) > produc1260470173ar_int > produc1260470173ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Ointernal__case__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.30/1.55 produc857153862et_nat: ( com > ( list_char > int ) > set_nat ) > produc1260470173ar_int > set_nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001_Eo,type,
% 0.30/1.55 produc613711406_com_o: ( ( list_char > int ) > com > $o ) > produc1166363805nt_com > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Nat__Onat,type,
% 0.30/1.55 produc1263502010om_nat: ( ( list_char > int ) > com > nat ) > produc1166363805nt_com > nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.30/1.55 produc1676975923nt_com: ( ( list_char > int ) > com > produc1166363805nt_com ) > produc1166363805nt_com > produc1166363805nt_com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.30/1.55 produc1771082291ar_int: ( ( list_char > int ) > com > produc1260470173ar_int ) > produc1166363805nt_com > produc1260470173ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.30/1.55 produc1754105456et_nat: ( ( list_char > int ) > com > set_nat ) > produc1166363805nt_com > set_nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Set__Oset_It__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_J,type,
% 0.30/1.55 produc1179280275nt_com: ( ( list_char > int ) > com > set_Pr866150653nt_com ) > produc1166363805nt_com > set_Pr866150653nt_com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom_001t__Set__Oset_It__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_J,type,
% 0.30/1.55 produc1461507731ar_int: ( ( list_char > int ) > com > set_Pr1148378109ar_int ) > produc1166363805nt_com > set_Pr1148378109ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001_Eo,type,
% 0.30/1.55 produc668584238_int_o: ( com > ( list_char > int ) > $o ) > produc1260470173ar_int > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Nat__Onat,type,
% 0.30/1.55 produc1311963066nt_nat: ( com > ( list_char > int ) > nat ) > produc1260470173ar_int > nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.30/1.55 produc1194453555nt_com: ( com > ( list_char > int ) > produc1166363805nt_com ) > produc1260470173ar_int > produc1166363805nt_com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.30/1.55 produc1288559923ar_int: ( com > ( list_char > int ) > produc1260470173ar_int ) > produc1260470173ar_int > produc1260470173ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.30/1.55 produc991755120et_nat: ( com > ( list_char > int ) > set_nat ) > produc1260470173ar_int > set_nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Set__Oset_It__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_J,type,
% 0.30/1.55 produc1994108563nt_com: ( com > ( list_char > int ) > set_Pr866150653nt_com ) > produc1260470173ar_int > set_Pr866150653nt_com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Set__Oset_It__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_J,type,
% 0.30/1.55 produc128852371ar_int: ( com > ( list_char > int ) > set_Pr1148378109ar_int ) > produc1260470173ar_int > set_Pr1148378109ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Oswap_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_001t__Com__Ocom,type,
% 0.30/1.55 produc1716235893nt_com: produc1166363805nt_com > produc1260470173ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Product__Type_Oprod_Oswap_001t__Com__Ocom_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J,type,
% 0.30/1.55 produc1770201973ar_int: produc1260470173ar_int > produc1166363805nt_com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_RelationalIncorrectness__Mirabelle__kefqvmgyto_Odecomp,type,
% 0.30/1.55 relati1310524937decomp: ( ( list_char > int ) > ( list_char > int ) > $o ) > com > com > ( ( list_char > int ) > ( list_char > int ) > $o ) > ( list_char > int ) > ( list_char > int ) > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_RelationalIncorrectness__Mirabelle__kefqvmgyto_Oflip,type,
% 0.30/1.55 relati186416454e_flip: ( ( list_char > int ) > ( list_char > int ) > $o ) > ( list_char > int ) > ( list_char > int ) > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_RelationalIncorrectness__Mirabelle__kefqvmgyto_Oget__back_001_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J,type,
% 0.30/1.55 relati23543761ar_int: ( ( list_char > int ) > ( list_char > int ) > $o ) > bexp > com > nat > ( list_char > int ) > ( list_char > int ) > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_RelationalIncorrectness__Mirabelle__kefqvmgyto_Oir__hoare,type,
% 0.30/1.55 relati2102071307_hoare: ( ( list_char > int ) > ( list_char > int ) > $o ) > com > com > ( ( list_char > int ) > ( list_char > int ) > $o ) > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_RelationalIncorrectness__Mirabelle__kefqvmgyto_Oir__valid,type,
% 0.30/1.55 relati775585786_valid: ( ( list_char > int ) > ( list_char > int ) > $o ) > com > com > ( ( list_char > int ) > ( list_char > int ) > $o ) > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
% 0.30/1.55 collect_nat: ( nat > $o ) > set_nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.30/1.55 collec676690312nt_com: ( produc1166363805nt_com > $o ) > set_Pr866150653nt_com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.30/1.55 collec770796680ar_int: ( produc1260470173ar_int > $o ) > set_Pr1148378109ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Nat__Onat,type,
% 0.30/1.55 image_nat_nat: ( nat > nat ) > set_nat > set_nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.30/1.55 image_244615942nt_com: ( nat > produc1166363805nt_com ) > set_nat > set_Pr866150653nt_com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.30/1.55 image_338722310ar_int: ( nat > produc1260470173ar_int ) > set_nat > set_Pr1148378109ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_001t__Nat__Onat,type,
% 0.30/1.55 image_596692520om_nat: ( produc1166363805nt_com > nat ) > set_Pr866150653nt_com > set_nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.30/1.55 image_1874758725nt_com: ( produc1166363805nt_com > produc1166363805nt_com ) > set_Pr866150653nt_com > set_Pr866150653nt_com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.30/1.55 image_1968865093ar_int: ( produc1166363805nt_com > produc1260470173ar_int ) > set_Pr866150653nt_com > set_Pr1148378109ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_001_Eo,type,
% 0.30/1.55 image_522938432_int_o: ( produc1260470173ar_int > $o ) > set_Pr1148378109ar_int > set_o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_001t__Nat__Onat,type,
% 0.30/1.55 image_1742782760nt_nat: ( produc1260470173ar_int > nat ) > set_Pr1148378109ar_int > set_nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.30/1.55 image_786684229nt_com: ( produc1260470173ar_int > produc1166363805nt_com ) > set_Pr1148378109ar_int > set_Pr866150653nt_com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.30/1.55 image_880790597ar_int: ( produc1260470173ar_int > produc1260470173ar_int ) > set_Pr1148378109ar_int > set_Pr1148378109ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.30/1.55 image_989727966et_nat: ( produc1260470173ar_int > set_nat ) > set_Pr1148378109ar_int > set_set_nat ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_member_001_Eo,type,
% 0.30/1.55 member_o: $o > set_o > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_member_001t__Nat__Onat,type,
% 0.30/1.55 member_nat: nat > set_nat > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_Mt__Com__Ocom_J,type,
% 0.30/1.55 member2145628230nt_com: produc1166363805nt_com > set_Pr866150653nt_com > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_member_001t__Product____Type__Oprod_It__Com__Ocom_M_062_It__List__Olist_It__String__Ochar_J_Mt__Int__Oint_J_J,type,
% 0.30/1.55 member92250950ar_int: produc1260470173ar_int > set_Pr1148378109ar_int > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_c_member_001t__Set__Oset_It__Nat__Onat_J,type,
% 0.30/1.55 member_set_nat: set_nat > set_set_nat > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_v_P,type,
% 0.30/1.55 p: ( list_char > int ) > ( list_char > int ) > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_v_Q,type,
% 0.30/1.55 q: ( list_char > int ) > ( list_char > int ) > $o ).
% 0.30/1.55
% 0.30/1.55 thf(sy_v_c,type,
% 0.30/1.55 c: com ).
% 0.30/1.55
% 0.30/1.55 thf(sy_v_c_H,type,
% 0.30/1.55 c2: com ).
% 0.30/1.55
% 0.30/1.55 thf(fact_0_soundness,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati2102071307_hoare @ P @ C @ C2 @ Q )
% 0.30/1.55 => ( relati775585786_valid @ P @ C @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_1_completeness,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.30/1.55 => ( relati2102071307_hoare @ P @ C @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_2_ir__valid__decomp,axiom,
% 0.30/1.55 ( relati775585786_valid
% 0.30/1.55 = ( ^ [P2: ( list_char > int ) > ( list_char > int ) > $o,C3: com,C4: com,Q2: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati775585786_valid @ P2 @ C3 @ skip @ ( relati1310524937decomp @ P2 @ C3 @ C4 @ Q2 ) )
% 0.30/1.55 & ( relati775585786_valid @ ( relati1310524937decomp @ P2 @ C3 @ C4 @ Q2 ) @ skip @ C4 @ Q2 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_3_ir__Skip__Skip,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o] : ( relati2102071307_hoare @ P @ skip @ skip @ P ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_4_ir__hoare__Skip__Skip,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati2102071307_hoare @ P @ skip @ skip @ Q )
% 0.30/1.55 = ( ! [S: list_char > int,S2: list_char > int] :
% 0.30/1.55 ( ( Q @ S @ S2 )
% 0.30/1.55 => ( P @ S @ S2 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_5_ir__pre,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,P3: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati2102071307_hoare @ P @ C @ C2 @ Q )
% 0.30/1.55 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.30/1.55 ( ( P @ S3 @ S4 )
% 0.30/1.55 => ( P3 @ S3 @ S4 ) )
% 0.30/1.55 => ( relati2102071307_hoare @ P3 @ C @ C2 @ Q ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_6_ir__post,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,Q3: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati2102071307_hoare @ P @ C @ C2 @ Q )
% 0.30/1.55 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.30/1.55 ( ( Q3 @ S3 @ S4 )
% 0.30/1.55 => ( Q @ S3 @ S4 ) )
% 0.30/1.55 => ( relati2102071307_hoare @ P @ C @ C2 @ Q3 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_7_ir__conseq,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,P3: ( list_char > int ) > ( list_char > int ) > $o,Q3: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati2102071307_hoare @ P @ C @ C2 @ Q )
% 0.30/1.55 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.30/1.55 ( ( P @ S3 @ S4 )
% 0.30/1.55 => ( P3 @ S3 @ S4 ) )
% 0.30/1.55 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.30/1.55 ( ( Q3 @ S3 @ S4 )
% 0.30/1.55 => ( Q @ S3 @ S4 ) )
% 0.30/1.55 => ( relati2102071307_hoare @ P3 @ C @ C2 @ Q3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_8_ir__valid__decomp1,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.30/1.55 => ( ( relati775585786_valid @ P @ C @ skip @ ( relati1310524937decomp @ P @ C @ C2 @ Q ) )
% 0.30/1.55 & ( relati775585786_valid @ ( relati1310524937decomp @ P @ C @ C2 @ Q ) @ skip @ C2 @ Q ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_9_ir__valid__decomp2,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,R: ( list_char > int ) > ( list_char > int ) > $o,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( ( relati775585786_valid @ P @ C @ skip @ R )
% 0.30/1.55 & ( relati775585786_valid @ R @ skip @ C2 @ Q ) )
% 0.30/1.55 => ( relati775585786_valid @ P @ C @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_10_ir__Seq1,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,D: com,R: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati2102071307_hoare @ P @ C @ C2 @ Q )
% 0.30/1.55 => ( ( relati2102071307_hoare @ Q @ D @ skip @ R )
% 0.30/1.55 => ( relati2102071307_hoare @ P @ ( seq @ C @ D ) @ C2 @ R ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_11_ir__sym,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati2102071307_hoare @ ( relati186416454e_flip @ P ) @ C @ C2 @ ( relati186416454e_flip @ Q ) )
% 0.30/1.55 => ( relati2102071307_hoare @ P @ C2 @ C @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_12_Seq1__ir__valid,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,D: com,R: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.30/1.55 => ( ( relati775585786_valid @ Q @ D @ skip @ R )
% 0.30/1.55 => ( relati775585786_valid @ P @ ( seq @ C @ D ) @ C2 @ R ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_13_Seq2__ir__valid,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,Q: ( list_char > int ) > ( list_char > int ) > $o,D: com,C2: com,R: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati775585786_valid @ P @ C @ skip @ Q )
% 0.30/1.55 => ( ( relati775585786_valid @ Q @ D @ C2 @ R )
% 0.30/1.55 => ( relati775585786_valid @ P @ ( seq @ C @ D ) @ C2 @ R ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_14_conseq__ir__valid,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,P3: ( list_char > int ) > ( list_char > int ) > $o,Q3: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.30/1.55 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.30/1.55 ( ( P @ S3 @ S4 )
% 0.30/1.55 => ( P3 @ S3 @ S4 ) )
% 0.30/1.55 => ( ! [S3: list_char > int,S4: list_char > int] :
% 0.30/1.55 ( ( Q3 @ S3 @ S4 )
% 0.30/1.55 => ( Q @ S3 @ S4 ) )
% 0.30/1.55 => ( relati775585786_valid @ P3 @ C @ C2 @ Q3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_15_ir__Skip__sym,axiom,
% 0.30/1.55 ! [Q: ( list_char > int ) > ( list_char > int ) > $o,P: ( list_char > int ) > ( list_char > int ) > $o,C2: com] :
% 0.30/1.55 ( ! [T: list_char > int,T2: list_char > int] :
% 0.30/1.55 ( ( Q @ T2 @ T )
% 0.30/1.55 => ? [S5: list_char > int] :
% 0.30/1.55 ( ( P @ S5 @ T )
% 0.30/1.55 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S5 ) @ T2 ) ) )
% 0.30/1.55 => ( relati2102071307_hoare @ P @ C2 @ skip @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_16_ir__Skip,axiom,
% 0.30/1.55 ! [Q: ( list_char > int ) > ( list_char > int ) > $o,P: ( list_char > int ) > ( list_char > int ) > $o,C2: com] :
% 0.30/1.55 ( ! [T: list_char > int,T2: list_char > int] :
% 0.30/1.55 ( ( Q @ T @ T2 )
% 0.30/1.55 => ? [S5: list_char > int] :
% 0.30/1.55 ( ( P @ T @ S5 )
% 0.30/1.55 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S5 ) @ T2 ) ) )
% 0.30/1.55 => ( relati2102071307_hoare @ P @ skip @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_17_com_Odistinct_I1_J,axiom,
% 0.30/1.55 ! [X21: list_char,X22: aexp] :
% 0.30/1.55 ( skip
% 0.30/1.55 != ( assign @ X21 @ X22 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_18_com_Oinject_I2_J,axiom,
% 0.30/1.55 ! [X31: com,X32: com,Y31: com,Y32: com] :
% 0.30/1.55 ( ( ( seq @ X31 @ X32 )
% 0.30/1.55 = ( seq @ Y31 @ Y32 ) )
% 0.30/1.55 = ( ( X31 = Y31 )
% 0.30/1.55 & ( X32 = Y32 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_19_com_Oinject_I1_J,axiom,
% 0.30/1.55 ! [X21: list_char,X22: aexp,Y21: list_char,Y22: aexp] :
% 0.30/1.55 ( ( ( assign @ X21 @ X22 )
% 0.30/1.55 = ( assign @ Y21 @ Y22 ) )
% 0.30/1.55 = ( ( X21 = Y21 )
% 0.30/1.55 & ( X22 = Y22 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_20_Seq__ir__valid,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,D: com,D2: com,R: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.30/1.55 => ( ( relati775585786_valid @ Q @ D @ D2 @ R )
% 0.30/1.55 => ( relati775585786_valid @ P @ ( seq @ C @ D ) @ ( seq @ C2 @ D2 ) @ R ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_21_sym__ir__valid,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C2: com,C: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati775585786_valid @ ( relati186416454e_flip @ P ) @ C2 @ C @ ( relati186416454e_flip @ Q ) )
% 0.30/1.55 => ( relati775585786_valid @ P @ C @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_22_meh__simp,axiom,
% 0.30/1.55 ! [S6: list_char > int,T3: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ skip @ S6 ) @ T3 )
% 0.30/1.55 = ( S6 = T3 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_23_Skip__ir__valid,axiom,
% 0.30/1.55 ! [Q: ( list_char > int ) > ( list_char > int ) > $o,P: ( list_char > int ) > ( list_char > int ) > $o,C2: com] :
% 0.30/1.55 ( ! [T: list_char > int,T2: list_char > int] :
% 0.30/1.55 ( ( Q @ T @ T2 )
% 0.30/1.55 => ? [S5: list_char > int] :
% 0.30/1.55 ( ( P @ T @ S5 )
% 0.30/1.55 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S5 ) @ T2 ) ) )
% 0.30/1.55 => ( relati775585786_valid @ P @ skip @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_24_com_Odistinct_I9_J,axiom,
% 0.30/1.55 ! [X21: list_char,X22: aexp,X31: com,X32: com] :
% 0.30/1.55 ( ( assign @ X21 @ X22 )
% 0.30/1.55 != ( seq @ X31 @ X32 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_25_ir__valid__def,axiom,
% 0.30/1.55 ( relati775585786_valid
% 0.30/1.55 = ( ^ [P2: ( list_char > int ) > ( list_char > int ) > $o,C3: com,C4: com,Q2: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ! [T4: list_char > int,T5: list_char > int] :
% 0.30/1.55 ( ( Q2 @ T4 @ T5 )
% 0.30/1.55 => ? [S: list_char > int,S2: list_char > int] :
% 0.30/1.55 ( ( P2 @ S @ S2 )
% 0.30/1.55 & ( big_big_step @ ( produc1193801173ar_int @ C3 @ S ) @ T4 )
% 0.30/1.55 & ( big_big_step @ ( produc1193801173ar_int @ C4 @ S2 ) @ T5 ) ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_26_com_Odistinct_I3_J,axiom,
% 0.30/1.55 ! [X31: com,X32: com] :
% 0.30/1.55 ( skip
% 0.30/1.55 != ( seq @ X31 @ X32 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_27_SeqE,axiom,
% 0.30/1.55 ! [C1: com,C22: com,S1: list_char > int,S32: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ ( seq @ C1 @ C22 ) @ S1 ) @ S32 )
% 0.30/1.55 => ~ ! [S_2: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C1 @ S1 ) @ S_2 )
% 0.30/1.55 => ~ ( big_big_step @ ( produc1193801173ar_int @ C22 @ S_2 ) @ S32 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_28_Seq__assoc,axiom,
% 0.30/1.55 ! [C1: com,C22: com,C32: com,S7: list_char > int,S6: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ ( seq @ ( seq @ C1 @ C22 ) @ C32 ) @ S7 ) @ S6 )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ ( seq @ C1 @ ( seq @ C22 @ C32 ) ) @ S7 ) @ S6 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_29_Seq,axiom,
% 0.30/1.55 ! [C_1: com,S_1: list_char > int,S_22: list_char > int,C_2: com,S_3: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C_1 @ S_1 ) @ S_22 )
% 0.30/1.55 => ( ( big_big_step @ ( produc1193801173ar_int @ C_2 @ S_22 ) @ S_3 )
% 0.30/1.55 => ( big_big_step @ ( produc1193801173ar_int @ ( seq @ C_1 @ C_2 ) @ S_1 ) @ S_3 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_30_SkipE,axiom,
% 0.30/1.55 ! [S7: list_char > int,T6: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ skip @ S7 ) @ T6 )
% 0.30/1.55 => ( T6 = S7 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_31_Skip,axiom,
% 0.30/1.55 ! [S7: list_char > int] : ( big_big_step @ ( produc1193801173ar_int @ skip @ S7 ) @ S7 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_32_prod_Oinject,axiom,
% 0.30/1.55 ! [X1: list_char > int,X2: com,Y1: list_char > int,Y2: com] :
% 0.30/1.55 ( ( ( produc1139835093nt_com @ X1 @ X2 )
% 0.30/1.55 = ( produc1139835093nt_com @ Y1 @ Y2 ) )
% 0.30/1.55 = ( ( X1 = Y1 )
% 0.30/1.55 & ( X2 = Y2 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_33_prod_Oinject,axiom,
% 0.30/1.55 ! [X1: com,X2: list_char > int,Y1: com,Y2: list_char > int] :
% 0.30/1.55 ( ( ( produc1193801173ar_int @ X1 @ X2 )
% 0.30/1.55 = ( produc1193801173ar_int @ Y1 @ Y2 ) )
% 0.30/1.55 = ( ( X1 = Y1 )
% 0.30/1.55 & ( X2 = Y2 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_34_old_Oprod_Oinject,axiom,
% 0.30/1.55 ! [A: list_char > int,B: com,A2: list_char > int,B2: com] :
% 0.30/1.55 ( ( ( produc1139835093nt_com @ A @ B )
% 0.30/1.55 = ( produc1139835093nt_com @ A2 @ B2 ) )
% 0.30/1.55 = ( ( A = A2 )
% 0.30/1.55 & ( B = B2 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_35_old_Oprod_Oinject,axiom,
% 0.30/1.55 ! [A: com,B: list_char > int,A2: com,B2: list_char > int] :
% 0.30/1.55 ( ( ( produc1193801173ar_int @ A @ B )
% 0.30/1.55 = ( produc1193801173ar_int @ A2 @ B2 ) )
% 0.30/1.55 = ( ( A = A2 )
% 0.30/1.55 & ( B = B2 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_36_sim__sym,axiom,
% 0.30/1.55 ! [C: com,C2: com] :
% 0.30/1.55 ( ( ! [S: list_char > int,T4: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S ) @ T4 )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ C2 @ S ) @ T4 ) ) )
% 0.30/1.55 = ( ! [S: list_char > int,T4: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C2 @ S ) @ T4 )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ C @ S ) @ T4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_37_sim__refl,axiom,
% 0.30/1.55 ! [C: com,S8: list_char > int,T7: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S8 ) @ T7 )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ C @ S8 ) @ T7 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_38_sim__trans,axiom,
% 0.30/1.55 ! [C: com,C2: com,C5: com] :
% 0.30/1.55 ( ! [S3: list_char > int,T: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S3 ) @ T )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ C2 @ S3 ) @ T ) )
% 0.30/1.55 => ( ! [S3: list_char > int,T: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C2 @ S3 ) @ T )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ C5 @ S3 ) @ T ) )
% 0.30/1.55 => ! [S8: list_char > int,T7: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S8 ) @ T7 )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ C5 @ S8 ) @ T7 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_39_old_Oprod_Oinducts,axiom,
% 0.30/1.55 ! [P: produc1166363805nt_com > $o,Prod: produc1166363805nt_com] :
% 0.30/1.55 ( ! [A3: list_char > int,B3: com] : ( P @ ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.30/1.55 => ( P @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_40_old_Oprod_Oinducts,axiom,
% 0.30/1.55 ! [P: produc1260470173ar_int > $o,Prod: produc1260470173ar_int] :
% 0.30/1.55 ( ! [A3: com,B3: list_char > int] : ( P @ ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.30/1.55 => ( P @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_41_old_Oprod_Oexhaust,axiom,
% 0.30/1.55 ! [Y: produc1166363805nt_com] :
% 0.30/1.55 ~ ! [A3: list_char > int,B3: com] :
% 0.30/1.55 ( Y
% 0.30/1.55 != ( produc1139835093nt_com @ A3 @ B3 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_42_old_Oprod_Oexhaust,axiom,
% 0.30/1.55 ! [Y: produc1260470173ar_int] :
% 0.30/1.55 ~ ! [A3: com,B3: list_char > int] :
% 0.30/1.55 ( Y
% 0.30/1.55 != ( produc1193801173ar_int @ A3 @ B3 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_43_mem__Collect__eq,axiom,
% 0.30/1.55 ! [A: produc1260470173ar_int,P: produc1260470173ar_int > $o] :
% 0.30/1.55 ( ( member92250950ar_int @ A @ ( collec770796680ar_int @ P ) )
% 0.30/1.55 = ( P @ A ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_44_mem__Collect__eq,axiom,
% 0.30/1.55 ! [A: produc1166363805nt_com,P: produc1166363805nt_com > $o] :
% 0.30/1.55 ( ( member2145628230nt_com @ A @ ( collec676690312nt_com @ P ) )
% 0.30/1.55 = ( P @ A ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_45_mem__Collect__eq,axiom,
% 0.30/1.55 ! [A: nat,P: nat > $o] :
% 0.30/1.55 ( ( member_nat @ A @ ( collect_nat @ P ) )
% 0.30/1.55 = ( P @ A ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_46_Collect__mem__eq,axiom,
% 0.30/1.55 ! [A4: set_Pr1148378109ar_int] :
% 0.30/1.55 ( ( collec770796680ar_int
% 0.30/1.55 @ ^ [X: produc1260470173ar_int] : ( member92250950ar_int @ X @ A4 ) )
% 0.30/1.55 = A4 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_47_Collect__mem__eq,axiom,
% 0.30/1.55 ! [A4: set_Pr866150653nt_com] :
% 0.30/1.55 ( ( collec676690312nt_com
% 0.30/1.55 @ ^ [X: produc1166363805nt_com] : ( member2145628230nt_com @ X @ A4 ) )
% 0.30/1.55 = A4 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_48_Collect__mem__eq,axiom,
% 0.30/1.55 ! [A4: set_nat] :
% 0.30/1.55 ( ( collect_nat
% 0.30/1.55 @ ^ [X: nat] : ( member_nat @ X @ A4 ) )
% 0.30/1.55 = A4 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_49_Collect__cong,axiom,
% 0.30/1.55 ! [P: nat > $o,Q: nat > $o] :
% 0.30/1.55 ( ! [X3: nat] :
% 0.30/1.55 ( ( P @ X3 )
% 0.30/1.55 = ( Q @ X3 ) )
% 0.30/1.55 => ( ( collect_nat @ P )
% 0.30/1.55 = ( collect_nat @ Q ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_50_Pair__inject,axiom,
% 0.30/1.55 ! [A: list_char > int,B: com,A2: list_char > int,B2: com] :
% 0.30/1.55 ( ( ( produc1139835093nt_com @ A @ B )
% 0.30/1.55 = ( produc1139835093nt_com @ A2 @ B2 ) )
% 0.30/1.55 => ~ ( ( A = A2 )
% 0.30/1.55 => ( B != B2 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_51_Pair__inject,axiom,
% 0.30/1.55 ! [A: com,B: list_char > int,A2: com,B2: list_char > int] :
% 0.30/1.55 ( ( ( produc1193801173ar_int @ A @ B )
% 0.30/1.55 = ( produc1193801173ar_int @ A2 @ B2 ) )
% 0.30/1.55 => ~ ( ( A = A2 )
% 0.30/1.55 => ( B != B2 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_52_prod__cases,axiom,
% 0.30/1.55 ! [P: produc1166363805nt_com > $o,P4: produc1166363805nt_com] :
% 0.30/1.55 ( ! [A3: list_char > int,B3: com] : ( P @ ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.30/1.55 => ( P @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_53_prod__cases,axiom,
% 0.30/1.55 ! [P: produc1260470173ar_int > $o,P4: produc1260470173ar_int] :
% 0.30/1.55 ( ! [A3: com,B3: list_char > int] : ( P @ ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.30/1.55 => ( P @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_54_surj__pair,axiom,
% 0.30/1.55 ! [P4: produc1166363805nt_com] :
% 0.30/1.55 ? [X3: list_char > int,Y3: com] :
% 0.30/1.55 ( P4
% 0.30/1.55 = ( produc1139835093nt_com @ X3 @ Y3 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_55_surj__pair,axiom,
% 0.30/1.55 ! [P4: produc1260470173ar_int] :
% 0.30/1.55 ? [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( P4
% 0.30/1.55 = ( produc1193801173ar_int @ X3 @ Y3 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_56_big__step__determ,axiom,
% 0.30/1.55 ! [C: com,S7: list_char > int,T6: list_char > int,U: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S7 ) @ T6 )
% 0.30/1.55 => ( ( big_big_step @ ( produc1193801173ar_int @ C @ S7 ) @ U )
% 0.30/1.55 => ( U = T6 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_57_ssubst__Pair__rhs,axiom,
% 0.30/1.55 ! [R2: list_char > int,S7: com,R: set_Pr866150653nt_com,S6: com] :
% 0.30/1.55 ( ( member2145628230nt_com @ ( produc1139835093nt_com @ R2 @ S7 ) @ R )
% 0.30/1.55 => ( ( S6 = S7 )
% 0.30/1.55 => ( member2145628230nt_com @ ( produc1139835093nt_com @ R2 @ S6 ) @ R ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_58_ssubst__Pair__rhs,axiom,
% 0.30/1.55 ! [R2: com,S7: list_char > int,R: set_Pr1148378109ar_int,S6: list_char > int] :
% 0.30/1.55 ( ( member92250950ar_int @ ( produc1193801173ar_int @ R2 @ S7 ) @ R )
% 0.30/1.55 => ( ( S6 = S7 )
% 0.30/1.55 => ( member92250950ar_int @ ( produc1193801173ar_int @ R2 @ S6 ) @ R ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_59_curry__conv,axiom,
% 0.30/1.55 ( produc1858366159_int_o
% 0.30/1.55 = ( ^ [F: produc1260470173ar_int > $o,A5: com,B4: list_char > int] : ( F @ ( produc1193801173ar_int @ A5 @ B4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_60_commute__if,axiom,
% 0.30/1.55 ! [B1: bexp,B22: bexp,C11: com,C12: com,C22: com,S8: list_char > int,T7: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ ( if @ B1 @ ( if @ B22 @ C11 @ C12 ) @ C22 ) @ S8 ) @ T7 )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ ( if @ B22 @ ( if @ B1 @ C11 @ C22 ) @ ( if @ B1 @ C12 @ C22 ) ) @ S8 ) @ T7 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_61_triv__if,axiom,
% 0.30/1.55 ! [B: bexp,C: com,S8: list_char > int,T7: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ ( if @ B @ C @ C ) @ S8 ) @ T7 )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ C @ S8 ) @ T7 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_62_curryI,axiom,
% 0.30/1.55 ! [F2: produc1166363805nt_com > $o,A: list_char > int,B: com] :
% 0.30/1.55 ( ( F2 @ ( produc1139835093nt_com @ A @ B ) )
% 0.30/1.55 => ( produc1803493327_com_o @ F2 @ A @ B ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_63_curryI,axiom,
% 0.30/1.55 ! [F2: produc1260470173ar_int > $o,A: com,B: list_char > int] :
% 0.30/1.55 ( ( F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.30/1.55 => ( produc1858366159_int_o @ F2 @ A @ B ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_64_while__unfold,axiom,
% 0.30/1.55 ! [B: bexp,C: com,S8: list_char > int,T7: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S8 ) @ T7 )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ ( if @ B @ ( seq @ C @ ( while @ B @ C ) ) @ skip ) @ S8 ) @ T7 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_65_com_Oinject_I4_J,axiom,
% 0.30/1.55 ! [X51: bexp,X52: com,Y51: bexp,Y52: com] :
% 0.30/1.55 ( ( ( while @ X51 @ X52 )
% 0.30/1.55 = ( while @ Y51 @ Y52 ) )
% 0.30/1.55 = ( ( X51 = Y51 )
% 0.30/1.55 & ( X52 = Y52 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_66_com_Oinject_I3_J,axiom,
% 0.30/1.55 ! [X41: bexp,X42: com,X43: com,Y41: bexp,Y42: com,Y43: com] :
% 0.30/1.55 ( ( ( if @ X41 @ X42 @ X43 )
% 0.30/1.55 = ( if @ Y41 @ Y42 @ Y43 ) )
% 0.30/1.55 = ( ( X41 = Y41 )
% 0.30/1.55 & ( X42 = Y42 )
% 0.30/1.55 & ( X43 = Y43 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_67_com_Odistinct_I19_J,axiom,
% 0.30/1.55 ! [X41: bexp,X42: com,X43: com,X51: bexp,X52: com] :
% 0.30/1.55 ( ( if @ X41 @ X42 @ X43 )
% 0.30/1.55 != ( while @ X51 @ X52 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_68_com_Odistinct_I7_J,axiom,
% 0.30/1.55 ! [X51: bexp,X52: com] :
% 0.30/1.55 ( skip
% 0.30/1.55 != ( while @ X51 @ X52 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_69_com_Odistinct_I17_J,axiom,
% 0.30/1.55 ! [X31: com,X32: com,X51: bexp,X52: com] :
% 0.30/1.55 ( ( seq @ X31 @ X32 )
% 0.30/1.55 != ( while @ X51 @ X52 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_70_com_Odistinct_I13_J,axiom,
% 0.30/1.55 ! [X21: list_char,X22: aexp,X51: bexp,X52: com] :
% 0.30/1.55 ( ( assign @ X21 @ X22 )
% 0.30/1.55 != ( while @ X51 @ X52 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_71_com_Odistinct_I5_J,axiom,
% 0.30/1.55 ! [X41: bexp,X42: com,X43: com] :
% 0.30/1.55 ( skip
% 0.30/1.55 != ( if @ X41 @ X42 @ X43 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_72_com_Odistinct_I15_J,axiom,
% 0.30/1.55 ! [X31: com,X32: com,X41: bexp,X42: com,X43: com] :
% 0.30/1.55 ( ( seq @ X31 @ X32 )
% 0.30/1.55 != ( if @ X41 @ X42 @ X43 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_73_com_Odistinct_I11_J,axiom,
% 0.30/1.55 ! [X21: list_char,X22: aexp,X41: bexp,X42: com,X43: com] :
% 0.30/1.55 ( ( assign @ X21 @ X22 )
% 0.30/1.55 != ( if @ X41 @ X42 @ X43 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_74_curryD,axiom,
% 0.30/1.55 ! [F2: produc1166363805nt_com > $o,A: list_char > int,B: com] :
% 0.30/1.55 ( ( produc1803493327_com_o @ F2 @ A @ B )
% 0.30/1.55 => ( F2 @ ( produc1139835093nt_com @ A @ B ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_75_curryD,axiom,
% 0.30/1.55 ! [F2: produc1260470173ar_int > $o,A: com,B: list_char > int] :
% 0.30/1.55 ( ( produc1858366159_int_o @ F2 @ A @ B )
% 0.30/1.55 => ( F2 @ ( produc1193801173ar_int @ A @ B ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_76_curryE,axiom,
% 0.30/1.55 ! [F2: produc1166363805nt_com > $o,A: list_char > int,B: com] :
% 0.30/1.55 ( ( produc1803493327_com_o @ F2 @ A @ B )
% 0.30/1.55 => ( F2 @ ( produc1139835093nt_com @ A @ B ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_77_curryE,axiom,
% 0.30/1.55 ! [F2: produc1260470173ar_int > $o,A: com,B: list_char > int] :
% 0.30/1.55 ( ( produc1858366159_int_o @ F2 @ A @ B )
% 0.30/1.55 => ( F2 @ ( produc1193801173ar_int @ A @ B ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_78_com_Oinduct,axiom,
% 0.30/1.55 ! [P: com > $o,Com: com] :
% 0.30/1.55 ( ( P @ skip )
% 0.30/1.55 => ( ! [X12: list_char,X23: aexp] : ( P @ ( assign @ X12 @ X23 ) )
% 0.30/1.55 => ( ! [X12: com,X23: com] :
% 0.30/1.55 ( ( P @ X12 )
% 0.30/1.55 => ( ( P @ X23 )
% 0.30/1.55 => ( P @ ( seq @ X12 @ X23 ) ) ) )
% 0.30/1.55 => ( ! [X12: bexp,X23: com,X33: com] :
% 0.30/1.55 ( ( P @ X23 )
% 0.30/1.55 => ( ( P @ X33 )
% 0.30/1.55 => ( P @ ( if @ X12 @ X23 @ X33 ) ) ) )
% 0.30/1.55 => ( ! [X12: bexp,X23: com] :
% 0.30/1.55 ( ( P @ X23 )
% 0.30/1.55 => ( P @ ( while @ X12 @ X23 ) ) )
% 0.30/1.55 => ( P @ Com ) ) ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_79_com_Oexhaust,axiom,
% 0.30/1.55 ! [Y: com] :
% 0.30/1.55 ( ( Y != skip )
% 0.30/1.55 => ( ! [X212: list_char,X222: aexp] :
% 0.30/1.55 ( Y
% 0.30/1.55 != ( assign @ X212 @ X222 ) )
% 0.30/1.55 => ( ! [X312: com,X322: com] :
% 0.30/1.55 ( Y
% 0.30/1.55 != ( seq @ X312 @ X322 ) )
% 0.30/1.55 => ( ! [X412: bexp,X422: com,X432: com] :
% 0.30/1.55 ( Y
% 0.30/1.55 != ( if @ X412 @ X422 @ X432 ) )
% 0.30/1.55 => ~ ! [X512: bexp,X522: com] :
% 0.30/1.55 ( Y
% 0.30/1.55 != ( while @ X512 @ X522 ) ) ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_80_sim__while__cong,axiom,
% 0.30/1.55 ! [C: com,C2: com,B: bexp] :
% 0.30/1.55 ( ! [S3: list_char > int,T: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S3 ) @ T )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ C2 @ S3 ) @ T ) )
% 0.30/1.55 => ! [S8: list_char > int,T7: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S8 ) @ T7 )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C2 ) @ S8 ) @ T7 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_81_sim__while__cong__aux,axiom,
% 0.30/1.55 ! [B: bexp,C: com,S7: list_char > int,T6: list_char > int,C2: com] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S7 ) @ T6 )
% 0.30/1.55 => ( ! [S3: list_char > int,T: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S3 ) @ T )
% 0.30/1.55 = ( big_big_step @ ( produc1193801173ar_int @ C2 @ S3 ) @ T ) )
% 0.30/1.55 => ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C2 ) @ S7 ) @ T6 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_82_IfE,axiom,
% 0.30/1.55 ! [B: bexp,C1: com,C22: com,S7: list_char > int,T6: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ ( if @ B @ C1 @ C22 ) @ S7 ) @ T6 )
% 0.30/1.55 => ( ( ( bval @ B @ S7 )
% 0.30/1.55 => ~ ( big_big_step @ ( produc1193801173ar_int @ C1 @ S7 ) @ T6 ) )
% 0.30/1.55 => ~ ( ~ ( bval @ B @ S7 )
% 0.30/1.55 => ~ ( big_big_step @ ( produc1193801173ar_int @ C22 @ S7 ) @ T6 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_83_IfTrue,axiom,
% 0.30/1.55 ! [B: bexp,S7: list_char > int,C_1: com,T6: list_char > int,C_2: com] :
% 0.30/1.55 ( ( bval @ B @ S7 )
% 0.30/1.55 => ( ( big_big_step @ ( produc1193801173ar_int @ C_1 @ S7 ) @ T6 )
% 0.30/1.55 => ( big_big_step @ ( produc1193801173ar_int @ ( if @ B @ C_1 @ C_2 ) @ S7 ) @ T6 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_84_IfFalse,axiom,
% 0.30/1.55 ! [B: bexp,S7: list_char > int,C_2: com,T6: list_char > int,C_1: com] :
% 0.30/1.55 ( ~ ( bval @ B @ S7 )
% 0.30/1.55 => ( ( big_big_step @ ( produc1193801173ar_int @ C_2 @ S7 ) @ T6 )
% 0.30/1.55 => ( big_big_step @ ( produc1193801173ar_int @ ( if @ B @ C_1 @ C_2 ) @ S7 ) @ T6 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_85_WhileE,axiom,
% 0.30/1.55 ! [B: bexp,C: com,S7: list_char > int,T6: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S7 ) @ T6 )
% 0.30/1.55 => ( ( ( T6 = S7 )
% 0.30/1.55 => ( bval @ B @ S7 ) )
% 0.30/1.55 => ~ ( ( bval @ B @ S7 )
% 0.30/1.55 => ! [S_2: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S7 ) @ S_2 )
% 0.30/1.55 => ~ ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S_2 ) @ T6 ) ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_86_WhileTrue,axiom,
% 0.30/1.55 ! [B: bexp,S_1: list_char > int,C: com,S_22: list_char > int,S_3: list_char > int] :
% 0.30/1.55 ( ( bval @ B @ S_1 )
% 0.30/1.55 => ( ( big_big_step @ ( produc1193801173ar_int @ C @ S_1 ) @ S_22 )
% 0.30/1.55 => ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S_22 ) @ S_3 )
% 0.30/1.55 => ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S_1 ) @ S_3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_87_WhileFalse,axiom,
% 0.30/1.55 ! [B: bexp,S7: list_char > int,C: com] :
% 0.30/1.55 ( ~ ( bval @ B @ S7 )
% 0.30/1.55 => ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S7 ) @ S7 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_88_swap__simp,axiom,
% 0.30/1.55 ! [X4: list_char > int,Y: com] :
% 0.30/1.55 ( ( produc1716235893nt_com @ ( produc1139835093nt_com @ X4 @ Y ) )
% 0.30/1.55 = ( produc1193801173ar_int @ Y @ X4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_89_swap__simp,axiom,
% 0.30/1.55 ! [X4: com,Y: list_char > int] :
% 0.30/1.55 ( ( produc1770201973ar_int @ ( produc1193801173ar_int @ X4 @ Y ) )
% 0.30/1.55 = ( produc1139835093nt_com @ Y @ X4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_90_swap__swap,axiom,
% 0.30/1.55 ! [P4: produc1166363805nt_com] :
% 0.30/1.55 ( ( produc1770201973ar_int @ ( produc1716235893nt_com @ P4 ) )
% 0.30/1.55 = P4 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_91_swap__swap,axiom,
% 0.30/1.55 ! [P4: produc1260470173ar_int] :
% 0.30/1.55 ( ( produc1716235893nt_com @ ( produc1770201973ar_int @ P4 ) )
% 0.30/1.55 = P4 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_92_pair__in__swap__image,axiom,
% 0.30/1.55 ! [Y: list_char > int,X4: com,A4: set_Pr1148378109ar_int] :
% 0.30/1.55 ( ( member2145628230nt_com @ ( produc1139835093nt_com @ Y @ X4 ) @ ( image_786684229nt_com @ produc1770201973ar_int @ A4 ) )
% 0.30/1.55 = ( member92250950ar_int @ ( produc1193801173ar_int @ X4 @ Y ) @ A4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_93_pair__in__swap__image,axiom,
% 0.30/1.55 ! [Y: com,X4: list_char > int,A4: set_Pr866150653nt_com] :
% 0.30/1.55 ( ( member92250950ar_int @ ( produc1193801173ar_int @ Y @ X4 ) @ ( image_1968865093ar_int @ produc1716235893nt_com @ A4 ) )
% 0.30/1.55 = ( member2145628230nt_com @ ( produc1139835093nt_com @ X4 @ Y ) @ A4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_94_internal__case__prod__def,axiom,
% 0.30/1.55 produc857153862et_nat = produc991755120et_nat ).
% 0.30/1.55
% 0.30/1.55 thf(fact_95_internal__case__prod__def,axiom,
% 0.30/1.55 produc9062872_int_o = produc668584238_int_o ).
% 0.30/1.55
% 0.30/1.55 thf(fact_96_internal__case__prod__def,axiom,
% 0.30/1.55 produc641693072nt_nat = produc1311963066nt_nat ).
% 0.30/1.55
% 0.30/1.55 thf(fact_97_internal__case__prod__def,axiom,
% 0.30/1.55 produc837840349ar_int = produc1288559923ar_int ).
% 0.30/1.55
% 0.30/1.55 thf(fact_98_Assign__complete,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,X1: list_char,X2: aexp,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,T6: list_char > int,T3: list_char > int] :
% 0.30/1.55 ( ( relati775585786_valid @ P @ ( assign @ X1 @ X2 ) @ C2 @ Q )
% 0.30/1.55 => ( ( Q @ T6 @ T3 )
% 0.30/1.55 => ? [S4: list_char > int] :
% 0.30/1.55 ( ? [V: int] :
% 0.30/1.55 ( ( P @ ( fun_up103088396ar_int @ T6 @ X1 @ V ) @ S4 )
% 0.30/1.55 & ( ( T6 @ X1 )
% 0.30/1.55 = ( aval @ X2 @ ( fun_up103088396ar_int @ T6 @ X1 @ V ) ) ) )
% 0.30/1.55 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S4 ) @ T3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_99_While__True__ir__valid,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati775585786_valid
% 0.30/1.55 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.55 ( ( P @ S @ S2 )
% 0.30/1.55 & ( bval @ B @ S ) )
% 0.30/1.55 @ ( seq @ C @ ( while @ B @ C ) )
% 0.30/1.55 @ C2
% 0.30/1.55 @ Q )
% 0.30/1.55 => ( relati775585786_valid @ P @ ( while @ B @ C ) @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_100_While__backwards__frontier__ir__valid_H,axiom,
% 0.30/1.55 ! [P: nat > ( list_char > int ) > ( list_char > int ) > $o,K: nat,B: bexp,C: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C2: com,T6: list_char > int,T3: list_char > int] :
% 0.30/1.55 ( ! [N: nat,T: list_char > int,T2: list_char > int] :
% 0.30/1.55 ( ( P @ ( plus_plus_nat @ K @ ( suc @ N ) ) @ T @ T2 )
% 0.30/1.55 => ? [S8: list_char > int] :
% 0.30/1.55 ( ( P @ ( plus_plus_nat @ K @ N ) @ S8 @ T2 )
% 0.30/1.55 & ( bval @ B @ S8 )
% 0.30/1.55 & ( big_big_step @ ( produc1193801173ar_int @ C @ S8 ) @ T ) ) )
% 0.30/1.55 => ( ! [T: list_char > int,T2: list_char > int] :
% 0.30/1.55 ( ( Q @ T @ T2 )
% 0.30/1.55 => ? [S8: list_char > int,S5: list_char > int] :
% 0.30/1.55 ( ? [N2: nat] : ( P @ ( plus_plus_nat @ K @ N2 ) @ S8 @ S5 )
% 0.30/1.55 & ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S8 ) @ T )
% 0.30/1.55 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S5 ) @ T2 ) ) )
% 0.30/1.55 => ( ( Q @ T6 @ T3 )
% 0.30/1.55 => ? [S3: list_char > int,S4: list_char > int] :
% 0.30/1.55 ( ( P @ K @ S3 @ S4 )
% 0.30/1.55 & ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ S3 ) @ T6 )
% 0.30/1.55 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S4 ) @ T3 ) ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_101_mem__case__prodI2,axiom,
% 0.30/1.55 ! [P4: produc1260470173ar_int,Z: produc1260470173ar_int,C: com > ( list_char > int ) > set_Pr1148378109ar_int] :
% 0.30/1.55 ( ! [A3: com,B3: list_char > int] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.30/1.55 => ( member92250950ar_int @ Z @ ( C @ A3 @ B3 ) ) )
% 0.30/1.55 => ( member92250950ar_int @ Z @ ( produc128852371ar_int @ C @ P4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_102_mem__case__prodI2,axiom,
% 0.30/1.55 ! [P4: produc1260470173ar_int,Z: produc1166363805nt_com,C: com > ( list_char > int ) > set_Pr866150653nt_com] :
% 0.30/1.55 ( ! [A3: com,B3: list_char > int] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.30/1.55 => ( member2145628230nt_com @ Z @ ( C @ A3 @ B3 ) ) )
% 0.30/1.55 => ( member2145628230nt_com @ Z @ ( produc1994108563nt_com @ C @ P4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_103_mem__case__prodI2,axiom,
% 0.30/1.55 ! [P4: produc1166363805nt_com,Z: nat,C: ( list_char > int ) > com > set_nat] :
% 0.30/1.55 ( ! [A3: list_char > int,B3: com] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.30/1.55 => ( member_nat @ Z @ ( C @ A3 @ B3 ) ) )
% 0.30/1.55 => ( member_nat @ Z @ ( produc1754105456et_nat @ C @ P4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_104_mem__case__prodI2,axiom,
% 0.30/1.55 ! [P4: produc1166363805nt_com,Z: produc1260470173ar_int,C: ( list_char > int ) > com > set_Pr1148378109ar_int] :
% 0.30/1.55 ( ! [A3: list_char > int,B3: com] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.30/1.55 => ( member92250950ar_int @ Z @ ( C @ A3 @ B3 ) ) )
% 0.30/1.55 => ( member92250950ar_int @ Z @ ( produc1461507731ar_int @ C @ P4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_105_mem__case__prodI2,axiom,
% 0.30/1.55 ! [P4: produc1166363805nt_com,Z: produc1166363805nt_com,C: ( list_char > int ) > com > set_Pr866150653nt_com] :
% 0.30/1.55 ( ! [A3: list_char > int,B3: com] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.30/1.55 => ( member2145628230nt_com @ Z @ ( C @ A3 @ B3 ) ) )
% 0.30/1.55 => ( member2145628230nt_com @ Z @ ( produc1179280275nt_com @ C @ P4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_106_mem__case__prodI2,axiom,
% 0.30/1.55 ! [P4: produc1260470173ar_int,Z: nat,C: com > ( list_char > int ) > set_nat] :
% 0.30/1.55 ( ! [A3: com,B3: list_char > int] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.30/1.55 => ( member_nat @ Z @ ( C @ A3 @ B3 ) ) )
% 0.30/1.55 => ( member_nat @ Z @ ( produc991755120et_nat @ C @ P4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_107_mem__case__prodI,axiom,
% 0.30/1.55 ! [Z: produc1260470173ar_int,C: com > ( list_char > int ) > set_Pr1148378109ar_int,A: com,B: list_char > int] :
% 0.30/1.55 ( ( member92250950ar_int @ Z @ ( C @ A @ B ) )
% 0.30/1.55 => ( member92250950ar_int @ Z @ ( produc128852371ar_int @ C @ ( produc1193801173ar_int @ A @ B ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_108_mem__case__prodI,axiom,
% 0.30/1.55 ! [Z: produc1166363805nt_com,C: com > ( list_char > int ) > set_Pr866150653nt_com,A: com,B: list_char > int] :
% 0.30/1.55 ( ( member2145628230nt_com @ Z @ ( C @ A @ B ) )
% 0.30/1.55 => ( member2145628230nt_com @ Z @ ( produc1994108563nt_com @ C @ ( produc1193801173ar_int @ A @ B ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_109_mem__case__prodI,axiom,
% 0.30/1.55 ! [Z: nat,C: ( list_char > int ) > com > set_nat,A: list_char > int,B: com] :
% 0.30/1.55 ( ( member_nat @ Z @ ( C @ A @ B ) )
% 0.30/1.55 => ( member_nat @ Z @ ( produc1754105456et_nat @ C @ ( produc1139835093nt_com @ A @ B ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_110_mem__case__prodI,axiom,
% 0.30/1.55 ! [Z: produc1260470173ar_int,C: ( list_char > int ) > com > set_Pr1148378109ar_int,A: list_char > int,B: com] :
% 0.30/1.55 ( ( member92250950ar_int @ Z @ ( C @ A @ B ) )
% 0.30/1.55 => ( member92250950ar_int @ Z @ ( produc1461507731ar_int @ C @ ( produc1139835093nt_com @ A @ B ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_111_mem__case__prodI,axiom,
% 0.30/1.55 ! [Z: produc1166363805nt_com,C: ( list_char > int ) > com > set_Pr866150653nt_com,A: list_char > int,B: com] :
% 0.30/1.55 ( ( member2145628230nt_com @ Z @ ( C @ A @ B ) )
% 0.30/1.55 => ( member2145628230nt_com @ Z @ ( produc1179280275nt_com @ C @ ( produc1139835093nt_com @ A @ B ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_112_mem__case__prodI,axiom,
% 0.30/1.55 ! [Z: nat,C: com > ( list_char > int ) > set_nat,A: com,B: list_char > int] :
% 0.30/1.55 ( ( member_nat @ Z @ ( C @ A @ B ) )
% 0.30/1.55 => ( member_nat @ Z @ ( produc991755120et_nat @ C @ ( produc1193801173ar_int @ A @ B ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_113_case__prodI2,axiom,
% 0.30/1.55 ! [P4: produc1166363805nt_com,C: ( list_char > int ) > com > $o] :
% 0.30/1.55 ( ! [A3: list_char > int,B3: com] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1139835093nt_com @ A3 @ B3 ) )
% 0.30/1.55 => ( C @ A3 @ B3 ) )
% 0.30/1.55 => ( produc613711406_com_o @ C @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_114_case__prodI2,axiom,
% 0.30/1.55 ! [P4: produc1260470173ar_int,C: com > ( list_char > int ) > $o] :
% 0.30/1.55 ( ! [A3: com,B3: list_char > int] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1193801173ar_int @ A3 @ B3 ) )
% 0.30/1.55 => ( C @ A3 @ B3 ) )
% 0.30/1.55 => ( produc668584238_int_o @ C @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_115_case__prodI,axiom,
% 0.30/1.55 ! [F2: ( list_char > int ) > com > $o,A: list_char > int,B: com] :
% 0.30/1.55 ( ( F2 @ A @ B )
% 0.30/1.55 => ( produc613711406_com_o @ F2 @ ( produc1139835093nt_com @ A @ B ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_116_case__prodI,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > $o,A: com,B: list_char > int] :
% 0.30/1.55 ( ( F2 @ A @ B )
% 0.30/1.55 => ( produc668584238_int_o @ F2 @ ( produc1193801173ar_int @ A @ B ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_117_disj__ir__valid,axiom,
% 0.30/1.55 ! [P_1: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q_1: ( list_char > int ) > ( list_char > int ) > $o,P_2: ( list_char > int ) > ( list_char > int ) > $o,Q_2: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati775585786_valid @ P_1 @ C @ C2 @ Q_1 )
% 0.30/1.55 => ( ( relati775585786_valid @ P_2 @ C @ C2 @ Q_2 )
% 0.30/1.55 => ( relati775585786_valid
% 0.30/1.55 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.55 ( ( P_1 @ S @ S2 )
% 0.30/1.55 | ( P_2 @ S @ S2 ) )
% 0.30/1.55 @ C
% 0.30/1.55 @ C2
% 0.30/1.55 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.55 ( ( Q_1 @ T4 @ T5 )
% 0.30/1.55 | ( Q_2 @ T4 @ T5 ) ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_118_case__prod__conv,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > set_nat,A: com,B: list_char > int] :
% 0.30/1.55 ( ( produc991755120et_nat @ F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.30/1.55 = ( F2 @ A @ B ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_119_case__prod__conv,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > $o,A: com,B: list_char > int] :
% 0.30/1.55 ( ( produc668584238_int_o @ F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.30/1.55 = ( F2 @ A @ B ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_120_case__prod__conv,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > nat,A: com,B: list_char > int] :
% 0.30/1.55 ( ( produc1311963066nt_nat @ F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.30/1.55 = ( F2 @ A @ B ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_121_case__prod__conv,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > produc1260470173ar_int,A: com,B: list_char > int] :
% 0.30/1.55 ( ( produc1288559923ar_int @ F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.30/1.55 = ( F2 @ A @ B ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_122_curry__case__prod,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > set_nat] :
% 0.30/1.55 ( ( produc1791150095et_nat @ ( produc991755120et_nat @ F2 ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_123_curry__case__prod,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( produc1858366159_int_o @ ( produc668584238_int_o @ F2 ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_124_curry__case__prod,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > nat] :
% 0.30/1.55 ( ( produc763543641nt_nat @ ( produc1311963066nt_nat @ F2 ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_125_curry__case__prod,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > produc1260470173ar_int] :
% 0.30/1.55 ( ( produc804153044ar_int @ ( produc1288559923ar_int @ F2 ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_126_case__prod__curry,axiom,
% 0.30/1.55 ! [F2: produc1260470173ar_int > set_nat] :
% 0.30/1.55 ( ( produc991755120et_nat @ ( produc1791150095et_nat @ F2 ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_127_case__prod__curry,axiom,
% 0.30/1.55 ! [F2: produc1260470173ar_int > $o] :
% 0.30/1.55 ( ( produc668584238_int_o @ ( produc1858366159_int_o @ F2 ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_128_case__prod__curry,axiom,
% 0.30/1.55 ! [F2: produc1260470173ar_int > nat] :
% 0.30/1.55 ( ( produc1311963066nt_nat @ ( produc763543641nt_nat @ F2 ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_129_case__prod__curry,axiom,
% 0.30/1.55 ! [F2: produc1260470173ar_int > produc1260470173ar_int] :
% 0.30/1.55 ( ( produc1288559923ar_int @ ( produc804153044ar_int @ F2 ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_130_case__swap,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > set_nat,P4: produc1260470173ar_int] :
% 0.30/1.55 ( ( produc1754105456et_nat
% 0.30/1.55 @ ^ [Y4: list_char > int,X: com] : ( F2 @ X @ Y4 )
% 0.30/1.55 @ ( produc1770201973ar_int @ P4 ) )
% 0.30/1.55 = ( produc991755120et_nat @ F2 @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_131_case__swap,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > $o,P4: produc1260470173ar_int] :
% 0.30/1.55 ( ( produc613711406_com_o
% 0.30/1.55 @ ^ [Y4: list_char > int,X: com] : ( F2 @ X @ Y4 )
% 0.30/1.55 @ ( produc1770201973ar_int @ P4 ) )
% 0.30/1.55 = ( produc668584238_int_o @ F2 @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_132_case__swap,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > nat,P4: produc1260470173ar_int] :
% 0.30/1.55 ( ( produc1263502010om_nat
% 0.30/1.55 @ ^ [Y4: list_char > int,X: com] : ( F2 @ X @ Y4 )
% 0.30/1.55 @ ( produc1770201973ar_int @ P4 ) )
% 0.30/1.55 = ( produc1311963066nt_nat @ F2 @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_133_case__swap,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > produc1260470173ar_int,P4: produc1260470173ar_int] :
% 0.30/1.55 ( ( produc1771082291ar_int
% 0.30/1.55 @ ^ [Y4: list_char > int,X: com] : ( F2 @ X @ Y4 )
% 0.30/1.55 @ ( produc1770201973ar_int @ P4 ) )
% 0.30/1.55 = ( produc1288559923ar_int @ F2 @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_134_case__swap,axiom,
% 0.30/1.55 ! [F2: ( list_char > int ) > com > set_nat,P4: produc1166363805nt_com] :
% 0.30/1.55 ( ( produc991755120et_nat
% 0.30/1.55 @ ^ [Y4: com,X: list_char > int] : ( F2 @ X @ Y4 )
% 0.30/1.55 @ ( produc1716235893nt_com @ P4 ) )
% 0.30/1.55 = ( produc1754105456et_nat @ F2 @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_135_case__swap,axiom,
% 0.30/1.55 ! [F2: ( list_char > int ) > com > $o,P4: produc1166363805nt_com] :
% 0.30/1.55 ( ( produc668584238_int_o
% 0.30/1.55 @ ^ [Y4: com,X: list_char > int] : ( F2 @ X @ Y4 )
% 0.30/1.55 @ ( produc1716235893nt_com @ P4 ) )
% 0.30/1.55 = ( produc613711406_com_o @ F2 @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_136_case__swap,axiom,
% 0.30/1.55 ! [F2: ( list_char > int ) > com > nat,P4: produc1166363805nt_com] :
% 0.30/1.55 ( ( produc1311963066nt_nat
% 0.30/1.55 @ ^ [Y4: com,X: list_char > int] : ( F2 @ X @ Y4 )
% 0.30/1.55 @ ( produc1716235893nt_com @ P4 ) )
% 0.30/1.55 = ( produc1263502010om_nat @ F2 @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_137_case__swap,axiom,
% 0.30/1.55 ! [F2: ( list_char > int ) > com > produc1260470173ar_int,P4: produc1166363805nt_com] :
% 0.30/1.55 ( ( produc1288559923ar_int
% 0.30/1.55 @ ^ [Y4: com,X: list_char > int] : ( F2 @ X @ Y4 )
% 0.30/1.55 @ ( produc1716235893nt_com @ P4 ) )
% 0.30/1.55 = ( produc1771082291ar_int @ F2 @ P4 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_138_pair__imageI,axiom,
% 0.30/1.55 ! [A: com,B: list_char > int,A4: set_Pr1148378109ar_int,F2: com > ( list_char > int ) > produc1166363805nt_com] :
% 0.30/1.55 ( ( member92250950ar_int @ ( produc1193801173ar_int @ A @ B ) @ A4 )
% 0.30/1.55 => ( member2145628230nt_com @ ( F2 @ A @ B ) @ ( image_786684229nt_com @ ( produc1194453555nt_com @ F2 ) @ A4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_139_pair__imageI,axiom,
% 0.30/1.55 ! [A: list_char > int,B: com,A4: set_Pr866150653nt_com,F2: ( list_char > int ) > com > nat] :
% 0.30/1.55 ( ( member2145628230nt_com @ ( produc1139835093nt_com @ A @ B ) @ A4 )
% 0.30/1.55 => ( member_nat @ ( F2 @ A @ B ) @ ( image_596692520om_nat @ ( produc1263502010om_nat @ F2 ) @ A4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_140_pair__imageI,axiom,
% 0.30/1.55 ! [A: list_char > int,B: com,A4: set_Pr866150653nt_com,F2: ( list_char > int ) > com > produc1260470173ar_int] :
% 0.30/1.55 ( ( member2145628230nt_com @ ( produc1139835093nt_com @ A @ B ) @ A4 )
% 0.30/1.55 => ( member92250950ar_int @ ( F2 @ A @ B ) @ ( image_1968865093ar_int @ ( produc1771082291ar_int @ F2 ) @ A4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_141_pair__imageI,axiom,
% 0.30/1.55 ! [A: list_char > int,B: com,A4: set_Pr866150653nt_com,F2: ( list_char > int ) > com > produc1166363805nt_com] :
% 0.30/1.55 ( ( member2145628230nt_com @ ( produc1139835093nt_com @ A @ B ) @ A4 )
% 0.30/1.55 => ( member2145628230nt_com @ ( F2 @ A @ B ) @ ( image_1874758725nt_com @ ( produc1676975923nt_com @ F2 ) @ A4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_142_pair__imageI,axiom,
% 0.30/1.55 ! [A: com,B: list_char > int,A4: set_Pr1148378109ar_int,F2: com > ( list_char > int ) > set_nat] :
% 0.30/1.55 ( ( member92250950ar_int @ ( produc1193801173ar_int @ A @ B ) @ A4 )
% 0.30/1.55 => ( member_set_nat @ ( F2 @ A @ B ) @ ( image_989727966et_nat @ ( produc991755120et_nat @ F2 ) @ A4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_143_pair__imageI,axiom,
% 0.30/1.55 ! [A: com,B: list_char > int,A4: set_Pr1148378109ar_int,F2: com > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( member92250950ar_int @ ( produc1193801173ar_int @ A @ B ) @ A4 )
% 0.30/1.55 => ( member_o @ ( F2 @ A @ B ) @ ( image_522938432_int_o @ ( produc668584238_int_o @ F2 ) @ A4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_144_pair__imageI,axiom,
% 0.30/1.55 ! [A: com,B: list_char > int,A4: set_Pr1148378109ar_int,F2: com > ( list_char > int ) > produc1260470173ar_int] :
% 0.30/1.55 ( ( member92250950ar_int @ ( produc1193801173ar_int @ A @ B ) @ A4 )
% 0.30/1.55 => ( member92250950ar_int @ ( F2 @ A @ B ) @ ( image_880790597ar_int @ ( produc1288559923ar_int @ F2 ) @ A4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_145_pair__imageI,axiom,
% 0.30/1.55 ! [A: com,B: list_char > int,A4: set_Pr1148378109ar_int,F2: com > ( list_char > int ) > nat] :
% 0.30/1.55 ( ( member92250950ar_int @ ( produc1193801173ar_int @ A @ B ) @ A4 )
% 0.30/1.55 => ( member_nat @ ( F2 @ A @ B ) @ ( image_1742782760nt_nat @ ( produc1311963066nt_nat @ F2 ) @ A4 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_146_If__True__ir__valid,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C_1: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C_2: com] :
% 0.30/1.55 ( ( relati775585786_valid
% 0.30/1.55 @ ^ [A5: list_char > int,C3: list_char > int] :
% 0.30/1.55 ( ( P @ A5 @ C3 )
% 0.30/1.55 & ( bval @ B @ A5 ) )
% 0.30/1.55 @ C_1
% 0.30/1.55 @ C2
% 0.30/1.55 @ Q )
% 0.30/1.55 => ( relati775585786_valid @ P @ ( if @ B @ C_1 @ C_2 ) @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_147_If__False__ir__valid,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C_2: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C_1: com] :
% 0.30/1.55 ( ( relati775585786_valid
% 0.30/1.55 @ ^ [A5: list_char > int,C3: list_char > int] :
% 0.30/1.55 ( ( P @ A5 @ C3 )
% 0.30/1.55 & ~ ( bval @ B @ A5 ) )
% 0.30/1.55 @ C_2
% 0.30/1.55 @ C2
% 0.30/1.55 @ Q )
% 0.30/1.55 => ( relati775585786_valid @ P @ ( if @ B @ C_1 @ C_2 ) @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_148_While__False__ir__valid,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C: com] :
% 0.30/1.55 ( ( relati775585786_valid
% 0.30/1.55 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.55 ( ( P @ S @ S2 )
% 0.30/1.55 & ~ ( bval @ B @ S ) )
% 0.30/1.55 @ skip
% 0.30/1.55 @ C2
% 0.30/1.55 @ Q )
% 0.30/1.55 => ( relati775585786_valid @ P @ ( while @ B @ C ) @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_149_Assign__blah,axiom,
% 0.30/1.55 ! [T6: list_char > int,X4: list_char,E: aexp,V2: int] :
% 0.30/1.55 ( ( ( T6 @ X4 )
% 0.30/1.55 = ( aval @ E @ ( fun_up103088396ar_int @ T6 @ X4 @ V2 ) ) )
% 0.30/1.55 => ( big_big_step @ ( produc1193801173ar_int @ ( assign @ X4 @ E ) @ ( fun_up103088396ar_int @ T6 @ X4 @ V2 ) ) @ T6 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_150_curry__def,axiom,
% 0.30/1.55 ( produc1858366159_int_o
% 0.30/1.55 = ( ^ [C3: produc1260470173ar_int > $o,X: com,Y4: list_char > int] : ( C3 @ ( produc1193801173ar_int @ X @ Y4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_151_prod_Ocase__distrib,axiom,
% 0.30/1.55 ! [H: $o > $o,F2: com > ( list_char > int ) > $o,Prod: produc1260470173ar_int] :
% 0.30/1.55 ( ( H @ ( produc668584238_int_o @ F2 @ Prod ) )
% 0.30/1.55 = ( produc668584238_int_o
% 0.30/1.55 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.30/1.55 @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_152_prod_Ocase__distrib,axiom,
% 0.30/1.55 ! [H: $o > nat,F2: com > ( list_char > int ) > $o,Prod: produc1260470173ar_int] :
% 0.30/1.55 ( ( H @ ( produc668584238_int_o @ F2 @ Prod ) )
% 0.30/1.55 = ( produc1311963066nt_nat
% 0.30/1.55 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.30/1.55 @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_153_prod_Ocase__distrib,axiom,
% 0.30/1.55 ! [H: nat > $o,F2: com > ( list_char > int ) > nat,Prod: produc1260470173ar_int] :
% 0.30/1.55 ( ( H @ ( produc1311963066nt_nat @ F2 @ Prod ) )
% 0.30/1.55 = ( produc668584238_int_o
% 0.30/1.55 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.30/1.55 @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_154_prod_Ocase__distrib,axiom,
% 0.30/1.55 ! [H: nat > nat,F2: com > ( list_char > int ) > nat,Prod: produc1260470173ar_int] :
% 0.30/1.55 ( ( H @ ( produc1311963066nt_nat @ F2 @ Prod ) )
% 0.30/1.55 = ( produc1311963066nt_nat
% 0.30/1.55 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.30/1.55 @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_155_prod_Ocase__distrib,axiom,
% 0.30/1.55 ! [H: set_nat > $o,F2: com > ( list_char > int ) > set_nat,Prod: produc1260470173ar_int] :
% 0.30/1.55 ( ( H @ ( produc991755120et_nat @ F2 @ Prod ) )
% 0.30/1.55 = ( produc668584238_int_o
% 0.30/1.55 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.30/1.55 @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_156_prod_Ocase__distrib,axiom,
% 0.30/1.55 ! [H: set_nat > nat,F2: com > ( list_char > int ) > set_nat,Prod: produc1260470173ar_int] :
% 0.30/1.55 ( ( H @ ( produc991755120et_nat @ F2 @ Prod ) )
% 0.30/1.55 = ( produc1311963066nt_nat
% 0.30/1.55 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.30/1.55 @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_157_prod_Ocase__distrib,axiom,
% 0.30/1.55 ! [H: $o > set_nat,F2: com > ( list_char > int ) > $o,Prod: produc1260470173ar_int] :
% 0.30/1.55 ( ( H @ ( produc668584238_int_o @ F2 @ Prod ) )
% 0.30/1.55 = ( produc991755120et_nat
% 0.30/1.55 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.30/1.55 @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_158_prod_Ocase__distrib,axiom,
% 0.30/1.55 ! [H: nat > set_nat,F2: com > ( list_char > int ) > nat,Prod: produc1260470173ar_int] :
% 0.30/1.55 ( ( H @ ( produc1311963066nt_nat @ F2 @ Prod ) )
% 0.30/1.55 = ( produc991755120et_nat
% 0.30/1.55 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.30/1.55 @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_159_prod_Ocase__distrib,axiom,
% 0.30/1.55 ! [H: set_nat > set_nat,F2: com > ( list_char > int ) > set_nat,Prod: produc1260470173ar_int] :
% 0.30/1.55 ( ( H @ ( produc991755120et_nat @ F2 @ Prod ) )
% 0.30/1.55 = ( produc991755120et_nat
% 0.30/1.55 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.30/1.55 @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_160_prod_Ocase__distrib,axiom,
% 0.30/1.55 ! [H: $o > produc1260470173ar_int,F2: com > ( list_char > int ) > $o,Prod: produc1260470173ar_int] :
% 0.30/1.55 ( ( H @ ( produc668584238_int_o @ F2 @ Prod ) )
% 0.30/1.55 = ( produc1288559923ar_int
% 0.30/1.55 @ ^ [X13: com,X24: list_char > int] : ( H @ ( F2 @ X13 @ X24 ) )
% 0.30/1.55 @ Prod ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_161_ir__disj,axiom,
% 0.30/1.55 ! [P_1: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q_1: ( list_char > int ) > ( list_char > int ) > $o,P_2: ( list_char > int ) > ( list_char > int ) > $o,Q_2: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati2102071307_hoare @ P_1 @ C @ C2 @ Q_1 )
% 0.30/1.55 => ( ( relati2102071307_hoare @ P_2 @ C @ C2 @ Q_2 )
% 0.30/1.55 => ( relati2102071307_hoare
% 0.30/1.55 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.55 ( ( P_1 @ S @ S2 )
% 0.30/1.55 | ( P_2 @ S @ S2 ) )
% 0.30/1.55 @ C
% 0.30/1.55 @ C2
% 0.30/1.55 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.55 ( ( Q_1 @ T4 @ T5 )
% 0.30/1.55 | ( Q_2 @ T4 @ T5 ) ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_162_assign__upd__blah,axiom,
% 0.30/1.55 ! [X1: list_char,S7: list_char > int,X2: aexp] :
% 0.30/1.55 ( ( ^ [A5: list_char] : ( if_int @ ( A5 = X1 ) @ ( S7 @ X1 ) @ ( fun_up103088396ar_int @ S7 @ X1 @ ( aval @ X2 @ S7 ) @ A5 ) ) )
% 0.30/1.55 = S7 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_163_flip__def,axiom,
% 0.30/1.55 ( relati186416454e_flip
% 0.30/1.55 = ( ^ [P2: ( list_char > int ) > ( list_char > int ) > $o,S: list_char > int,S2: list_char > int] : ( P2 @ S2 @ S ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_164_curry__K,axiom,
% 0.30/1.55 ! [C: $o] :
% 0.30/1.55 ( ( produc1858366159_int_o
% 0.30/1.55 @ ^ [X: produc1260470173ar_int] : C )
% 0.30/1.55 = ( ^ [X: com,Y4: list_char > int] : C ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_165_cond__case__prod__eta,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > set_nat,G: produc1260470173ar_int > set_nat] :
% 0.30/1.55 ( ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( F2 @ X3 @ Y3 )
% 0.30/1.55 = ( G @ ( produc1193801173ar_int @ X3 @ Y3 ) ) )
% 0.30/1.55 => ( ( produc991755120et_nat @ F2 )
% 0.30/1.55 = G ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_166_cond__case__prod__eta,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > $o,G: produc1260470173ar_int > $o] :
% 0.30/1.55 ( ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( F2 @ X3 @ Y3 )
% 0.30/1.55 = ( G @ ( produc1193801173ar_int @ X3 @ Y3 ) ) )
% 0.30/1.55 => ( ( produc668584238_int_o @ F2 )
% 0.30/1.55 = G ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_167_cond__case__prod__eta,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > nat,G: produc1260470173ar_int > nat] :
% 0.30/1.55 ( ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( F2 @ X3 @ Y3 )
% 0.30/1.55 = ( G @ ( produc1193801173ar_int @ X3 @ Y3 ) ) )
% 0.30/1.55 => ( ( produc1311963066nt_nat @ F2 )
% 0.30/1.55 = G ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_168_cond__case__prod__eta,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > produc1260470173ar_int,G: produc1260470173ar_int > produc1260470173ar_int] :
% 0.30/1.55 ( ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( F2 @ X3 @ Y3 )
% 0.30/1.55 = ( G @ ( produc1193801173ar_int @ X3 @ Y3 ) ) )
% 0.30/1.55 => ( ( produc1288559923ar_int @ F2 )
% 0.30/1.55 = G ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_169_case__prod__eta,axiom,
% 0.30/1.55 ! [F2: produc1260470173ar_int > set_nat] :
% 0.30/1.55 ( ( produc991755120et_nat
% 0.30/1.55 @ ^ [X: com,Y4: list_char > int] : ( F2 @ ( produc1193801173ar_int @ X @ Y4 ) ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_170_case__prod__eta,axiom,
% 0.30/1.55 ! [F2: produc1260470173ar_int > $o] :
% 0.30/1.55 ( ( produc668584238_int_o
% 0.30/1.55 @ ^ [X: com,Y4: list_char > int] : ( F2 @ ( produc1193801173ar_int @ X @ Y4 ) ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_171_case__prod__eta,axiom,
% 0.30/1.55 ! [F2: produc1260470173ar_int > nat] :
% 0.30/1.55 ( ( produc1311963066nt_nat
% 0.30/1.55 @ ^ [X: com,Y4: list_char > int] : ( F2 @ ( produc1193801173ar_int @ X @ Y4 ) ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_172_case__prod__eta,axiom,
% 0.30/1.55 ! [F2: produc1260470173ar_int > produc1260470173ar_int] :
% 0.30/1.55 ( ( produc1288559923ar_int
% 0.30/1.55 @ ^ [X: com,Y4: list_char > int] : ( F2 @ ( produc1193801173ar_int @ X @ Y4 ) ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_173_case__prodE2,axiom,
% 0.30/1.55 ! [Q: set_nat > $o,P: com > ( list_char > int ) > set_nat,Z: produc1260470173ar_int] :
% 0.30/1.55 ( ( Q @ ( produc991755120et_nat @ P @ Z ) )
% 0.30/1.55 => ~ ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( Z
% 0.30/1.55 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( Q @ ( P @ X3 @ Y3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_174_case__prodE2,axiom,
% 0.30/1.55 ! [Q: $o > $o,P: com > ( list_char > int ) > $o,Z: produc1260470173ar_int] :
% 0.30/1.55 ( ( Q @ ( produc668584238_int_o @ P @ Z ) )
% 0.30/1.55 => ~ ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( Z
% 0.30/1.55 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( Q @ ( P @ X3 @ Y3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_175_case__prodE2,axiom,
% 0.30/1.55 ! [Q: nat > $o,P: com > ( list_char > int ) > nat,Z: produc1260470173ar_int] :
% 0.30/1.55 ( ( Q @ ( produc1311963066nt_nat @ P @ Z ) )
% 0.30/1.55 => ~ ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( Z
% 0.30/1.55 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( Q @ ( P @ X3 @ Y3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_176_case__prodE2,axiom,
% 0.30/1.55 ! [Q: produc1260470173ar_int > $o,P: com > ( list_char > int ) > produc1260470173ar_int,Z: produc1260470173ar_int] :
% 0.30/1.55 ( ( Q @ ( produc1288559923ar_int @ P @ Z ) )
% 0.30/1.55 => ~ ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( Z
% 0.30/1.55 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( Q @ ( P @ X3 @ Y3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_177_case__prodE,axiom,
% 0.30/1.55 ! [C: ( list_char > int ) > com > $o,P4: produc1166363805nt_com] :
% 0.30/1.55 ( ( produc613711406_com_o @ C @ P4 )
% 0.30/1.55 => ~ ! [X3: list_char > int,Y3: com] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1139835093nt_com @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( C @ X3 @ Y3 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_178_case__prodE,axiom,
% 0.30/1.55 ! [C: com > ( list_char > int ) > $o,P4: produc1260470173ar_int] :
% 0.30/1.55 ( ( produc668584238_int_o @ C @ P4 )
% 0.30/1.55 => ~ ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( C @ X3 @ Y3 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_179_case__prodD,axiom,
% 0.30/1.55 ! [F2: ( list_char > int ) > com > $o,A: list_char > int,B: com] :
% 0.30/1.55 ( ( produc613711406_com_o @ F2 @ ( produc1139835093nt_com @ A @ B ) )
% 0.30/1.55 => ( F2 @ A @ B ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_180_case__prodD,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > $o,A: com,B: list_char > int] :
% 0.30/1.55 ( ( produc668584238_int_o @ F2 @ ( produc1193801173ar_int @ A @ B ) )
% 0.30/1.55 => ( F2 @ A @ B ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_181_mem__case__prodE,axiom,
% 0.30/1.55 ! [Z: produc1260470173ar_int,C: com > ( list_char > int ) > set_Pr1148378109ar_int,P4: produc1260470173ar_int] :
% 0.30/1.55 ( ( member92250950ar_int @ Z @ ( produc128852371ar_int @ C @ P4 ) )
% 0.30/1.55 => ~ ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( member92250950ar_int @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_182_mem__case__prodE,axiom,
% 0.30/1.55 ! [Z: produc1166363805nt_com,C: com > ( list_char > int ) > set_Pr866150653nt_com,P4: produc1260470173ar_int] :
% 0.30/1.55 ( ( member2145628230nt_com @ Z @ ( produc1994108563nt_com @ C @ P4 ) )
% 0.30/1.55 => ~ ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( member2145628230nt_com @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_183_mem__case__prodE,axiom,
% 0.30/1.55 ! [Z: nat,C: ( list_char > int ) > com > set_nat,P4: produc1166363805nt_com] :
% 0.30/1.55 ( ( member_nat @ Z @ ( produc1754105456et_nat @ C @ P4 ) )
% 0.30/1.55 => ~ ! [X3: list_char > int,Y3: com] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1139835093nt_com @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( member_nat @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_184_mem__case__prodE,axiom,
% 0.30/1.55 ! [Z: produc1260470173ar_int,C: ( list_char > int ) > com > set_Pr1148378109ar_int,P4: produc1166363805nt_com] :
% 0.30/1.55 ( ( member92250950ar_int @ Z @ ( produc1461507731ar_int @ C @ P4 ) )
% 0.30/1.55 => ~ ! [X3: list_char > int,Y3: com] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1139835093nt_com @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( member92250950ar_int @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_185_mem__case__prodE,axiom,
% 0.30/1.55 ! [Z: produc1166363805nt_com,C: ( list_char > int ) > com > set_Pr866150653nt_com,P4: produc1166363805nt_com] :
% 0.30/1.55 ( ( member2145628230nt_com @ Z @ ( produc1179280275nt_com @ C @ P4 ) )
% 0.30/1.55 => ~ ! [X3: list_char > int,Y3: com] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1139835093nt_com @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( member2145628230nt_com @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_186_mem__case__prodE,axiom,
% 0.30/1.55 ! [Z: nat,C: com > ( list_char > int ) > set_nat,P4: produc1260470173ar_int] :
% 0.30/1.55 ( ( member_nat @ Z @ ( produc991755120et_nat @ C @ P4 ) )
% 0.30/1.55 => ~ ! [X3: com,Y3: list_char > int] :
% 0.30/1.55 ( ( P4
% 0.30/1.55 = ( produc1193801173ar_int @ X3 @ Y3 ) )
% 0.30/1.55 => ~ ( member_nat @ Z @ ( C @ X3 @ Y3 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_187_old_Oprod_Ocase,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > set_nat,X1: com,X2: list_char > int] :
% 0.30/1.55 ( ( produc991755120et_nat @ F2 @ ( produc1193801173ar_int @ X1 @ X2 ) )
% 0.30/1.55 = ( F2 @ X1 @ X2 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_188_old_Oprod_Ocase,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > $o,X1: com,X2: list_char > int] :
% 0.30/1.55 ( ( produc668584238_int_o @ F2 @ ( produc1193801173ar_int @ X1 @ X2 ) )
% 0.30/1.55 = ( F2 @ X1 @ X2 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_189_old_Oprod_Ocase,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > nat,X1: com,X2: list_char > int] :
% 0.30/1.55 ( ( produc1311963066nt_nat @ F2 @ ( produc1193801173ar_int @ X1 @ X2 ) )
% 0.30/1.55 = ( F2 @ X1 @ X2 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_190_old_Oprod_Ocase,axiom,
% 0.30/1.55 ! [F2: com > ( list_char > int ) > produc1260470173ar_int,X1: com,X2: list_char > int] :
% 0.30/1.55 ( ( produc1288559923ar_int @ F2 @ ( produc1193801173ar_int @ X1 @ X2 ) )
% 0.30/1.55 = ( F2 @ X1 @ X2 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_191_ir__If__False,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C_2: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C_1: com] :
% 0.30/1.55 ( ( relati2102071307_hoare
% 0.30/1.55 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.55 ( ( P @ S @ S2 )
% 0.30/1.55 & ~ ( bval @ B @ S ) )
% 0.30/1.55 @ C_2
% 0.30/1.55 @ C2
% 0.30/1.55 @ Q )
% 0.30/1.55 => ( relati2102071307_hoare @ P @ ( if @ B @ C_1 @ C_2 ) @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_192_ir__If__True,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C_1: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C_2: com] :
% 0.30/1.55 ( ( relati2102071307_hoare
% 0.30/1.55 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.55 ( ( P @ S @ S2 )
% 0.30/1.55 & ( bval @ B @ S ) )
% 0.30/1.55 @ C_1
% 0.30/1.55 @ C2
% 0.30/1.55 @ Q )
% 0.30/1.55 => ( relati2102071307_hoare @ P @ ( if @ B @ C_1 @ C_2 ) @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_193_AssignE,axiom,
% 0.30/1.55 ! [X4: list_char,A: aexp,S7: list_char > int,T6: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ ( assign @ X4 @ A ) @ S7 ) @ T6 )
% 0.30/1.55 => ( T6
% 0.30/1.55 = ( fun_up103088396ar_int @ S7 @ X4 @ ( aval @ A @ S7 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_194_assign__simp,axiom,
% 0.30/1.55 ! [X4: list_char,A: aexp,S7: list_char > int,S6: list_char > int] :
% 0.30/1.55 ( ( big_big_step @ ( produc1193801173ar_int @ ( assign @ X4 @ A ) @ S7 ) @ S6 )
% 0.30/1.55 = ( S6
% 0.30/1.55 = ( fun_up103088396ar_int @ S7 @ X4 @ ( aval @ A @ S7 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_195_Assign,axiom,
% 0.30/1.55 ! [X4: list_char,A: aexp,S7: list_char > int] : ( big_big_step @ ( produc1193801173ar_int @ ( assign @ X4 @ A ) @ S7 ) @ ( fun_up103088396ar_int @ S7 @ X4 @ ( aval @ A @ S7 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_196_ir__While__False,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,C: com] :
% 0.30/1.55 ( ( relati2102071307_hoare
% 0.30/1.55 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.55 ( ( P @ S @ S2 )
% 0.30/1.55 & ~ ( bval @ B @ S ) )
% 0.30/1.55 @ skip
% 0.30/1.55 @ C2
% 0.30/1.55 @ Q )
% 0.30/1.55 => ( relati2102071307_hoare @ P @ ( while @ B @ C ) @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_197_ir__While__True,axiom,
% 0.30/1.55 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.55 ( ( relati2102071307_hoare
% 0.30/1.55 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.55 ( ( P @ S @ S2 )
% 0.30/1.55 & ( bval @ B @ S ) )
% 0.30/1.55 @ ( seq @ C @ ( while @ B @ C ) )
% 0.30/1.55 @ C2
% 0.30/1.55 @ Q )
% 0.30/1.55 => ( relati2102071307_hoare @ P @ ( while @ B @ C ) @ C2 @ Q ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_198_add__Suc__right,axiom,
% 0.30/1.55 ! [M: nat,N3: nat] :
% 0.30/1.55 ( ( plus_plus_nat @ M @ ( suc @ N3 ) )
% 0.30/1.55 = ( suc @ ( plus_plus_nat @ M @ N3 ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_199_image__ident,axiom,
% 0.30/1.55 ! [Y5: set_nat] :
% 0.30/1.55 ( ( image_nat_nat
% 0.30/1.55 @ ^ [X: nat] : X
% 0.30/1.55 @ Y5 )
% 0.30/1.55 = Y5 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_200_fun__upd__upd,axiom,
% 0.30/1.55 ! [F2: list_char > int,X4: list_char,Y: int,Z: int] :
% 0.30/1.55 ( ( fun_up103088396ar_int @ ( fun_up103088396ar_int @ F2 @ X4 @ Y ) @ X4 @ Z )
% 0.30/1.55 = ( fun_up103088396ar_int @ F2 @ X4 @ Z ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_201_fun__upd__triv,axiom,
% 0.30/1.55 ! [F2: list_char > int,X4: list_char] :
% 0.30/1.55 ( ( fun_up103088396ar_int @ F2 @ X4 @ ( F2 @ X4 ) )
% 0.30/1.55 = F2 ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_202_fun__upd__apply,axiom,
% 0.30/1.55 ( fun_up103088396ar_int
% 0.30/1.55 = ( ^ [F: list_char > int,X: list_char,Y4: int,Z2: list_char] : ( if_int @ ( Z2 = X ) @ Y4 @ ( F @ Z2 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_203_image__eqI,axiom,
% 0.30/1.55 ! [B: produc1260470173ar_int,F2: nat > produc1260470173ar_int,X4: nat,A4: set_nat] :
% 0.30/1.55 ( ( B
% 0.30/1.55 = ( F2 @ X4 ) )
% 0.30/1.55 => ( ( member_nat @ X4 @ A4 )
% 0.30/1.55 => ( member92250950ar_int @ B @ ( image_338722310ar_int @ F2 @ A4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_204_image__eqI,axiom,
% 0.30/1.55 ! [B: produc1166363805nt_com,F2: nat > produc1166363805nt_com,X4: nat,A4: set_nat] :
% 0.30/1.55 ( ( B
% 0.30/1.55 = ( F2 @ X4 ) )
% 0.30/1.55 => ( ( member_nat @ X4 @ A4 )
% 0.30/1.55 => ( member2145628230nt_com @ B @ ( image_244615942nt_com @ F2 @ A4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_205_image__eqI,axiom,
% 0.30/1.55 ! [B: nat,F2: produc1260470173ar_int > nat,X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int] :
% 0.30/1.55 ( ( B
% 0.30/1.55 = ( F2 @ X4 ) )
% 0.30/1.55 => ( ( member92250950ar_int @ X4 @ A4 )
% 0.30/1.55 => ( member_nat @ B @ ( image_1742782760nt_nat @ F2 @ A4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_206_image__eqI,axiom,
% 0.30/1.55 ! [B: produc1260470173ar_int,F2: produc1260470173ar_int > produc1260470173ar_int,X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int] :
% 0.30/1.55 ( ( B
% 0.30/1.55 = ( F2 @ X4 ) )
% 0.30/1.55 => ( ( member92250950ar_int @ X4 @ A4 )
% 0.30/1.55 => ( member92250950ar_int @ B @ ( image_880790597ar_int @ F2 @ A4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_207_image__eqI,axiom,
% 0.30/1.55 ! [B: produc1166363805nt_com,F2: produc1260470173ar_int > produc1166363805nt_com,X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int] :
% 0.30/1.55 ( ( B
% 0.30/1.55 = ( F2 @ X4 ) )
% 0.30/1.55 => ( ( member92250950ar_int @ X4 @ A4 )
% 0.30/1.55 => ( member2145628230nt_com @ B @ ( image_786684229nt_com @ F2 @ A4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_208_image__eqI,axiom,
% 0.30/1.55 ! [B: nat,F2: produc1166363805nt_com > nat,X4: produc1166363805nt_com,A4: set_Pr866150653nt_com] :
% 0.30/1.55 ( ( B
% 0.30/1.55 = ( F2 @ X4 ) )
% 0.30/1.55 => ( ( member2145628230nt_com @ X4 @ A4 )
% 0.30/1.55 => ( member_nat @ B @ ( image_596692520om_nat @ F2 @ A4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_209_image__eqI,axiom,
% 0.30/1.55 ! [B: produc1260470173ar_int,F2: produc1166363805nt_com > produc1260470173ar_int,X4: produc1166363805nt_com,A4: set_Pr866150653nt_com] :
% 0.30/1.55 ( ( B
% 0.30/1.55 = ( F2 @ X4 ) )
% 0.30/1.55 => ( ( member2145628230nt_com @ X4 @ A4 )
% 0.30/1.55 => ( member92250950ar_int @ B @ ( image_1968865093ar_int @ F2 @ A4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_210_image__eqI,axiom,
% 0.30/1.55 ! [B: produc1166363805nt_com,F2: produc1166363805nt_com > produc1166363805nt_com,X4: produc1166363805nt_com,A4: set_Pr866150653nt_com] :
% 0.30/1.55 ( ( B
% 0.30/1.55 = ( F2 @ X4 ) )
% 0.30/1.55 => ( ( member2145628230nt_com @ X4 @ A4 )
% 0.30/1.55 => ( member2145628230nt_com @ B @ ( image_1874758725nt_com @ F2 @ A4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_211_image__eqI,axiom,
% 0.30/1.55 ! [B: nat,F2: nat > nat,X4: nat,A4: set_nat] :
% 0.30/1.55 ( ( B
% 0.30/1.55 = ( F2 @ X4 ) )
% 0.30/1.55 => ( ( member_nat @ X4 @ A4 )
% 0.30/1.55 => ( member_nat @ B @ ( image_nat_nat @ F2 @ A4 ) ) ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_212_old_Onat_Oinject,axiom,
% 0.30/1.55 ! [Nat: nat,Nat2: nat] :
% 0.30/1.55 ( ( ( suc @ Nat )
% 0.30/1.55 = ( suc @ Nat2 ) )
% 0.30/1.55 = ( Nat = Nat2 ) ) ).
% 0.30/1.55
% 0.30/1.55 thf(fact_213_nat_Oinject,axiom,
% 0.30/1.55 ! [X2: nat,Y2: nat] :
% 0.30/1.56 ( ( ( suc @ X2 )
% 0.30/1.56 = ( suc @ Y2 ) )
% 0.30/1.56 = ( X2 = Y2 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_214_split__part,axiom,
% 0.30/1.56 ! [P: $o,Q: com > ( list_char > int ) > $o] :
% 0.30/1.56 ( ( produc668584238_int_o
% 0.30/1.56 @ ^ [A5: com,B4: list_char > int] :
% 0.30/1.56 ( P
% 0.30/1.56 & ( Q @ A5 @ B4 ) ) )
% 0.30/1.56 = ( ^ [Ab: produc1260470173ar_int] :
% 0.30/1.56 ( P
% 0.30/1.56 & ( produc668584238_int_o @ Q @ Ab ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_215_prod_Odisc__eq__case,axiom,
% 0.30/1.56 ! [Prod: produc1260470173ar_int] :
% 0.30/1.56 ( produc668584238_int_o
% 0.30/1.56 @ ^ [Uu: com,Uv: list_char > int] : $true
% 0.30/1.56 @ Prod ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_216_rev__image__eqI,axiom,
% 0.30/1.56 ! [X4: nat,A4: set_nat,B: produc1260470173ar_int,F2: nat > produc1260470173ar_int] :
% 0.30/1.56 ( ( member_nat @ X4 @ A4 )
% 0.30/1.56 => ( ( B
% 0.30/1.56 = ( F2 @ X4 ) )
% 0.30/1.56 => ( member92250950ar_int @ B @ ( image_338722310ar_int @ F2 @ A4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_217_rev__image__eqI,axiom,
% 0.30/1.56 ! [X4: nat,A4: set_nat,B: produc1166363805nt_com,F2: nat > produc1166363805nt_com] :
% 0.30/1.56 ( ( member_nat @ X4 @ A4 )
% 0.30/1.56 => ( ( B
% 0.30/1.56 = ( F2 @ X4 ) )
% 0.30/1.56 => ( member2145628230nt_com @ B @ ( image_244615942nt_com @ F2 @ A4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_218_rev__image__eqI,axiom,
% 0.30/1.56 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,B: nat,F2: produc1260470173ar_int > nat] :
% 0.30/1.56 ( ( member92250950ar_int @ X4 @ A4 )
% 0.30/1.56 => ( ( B
% 0.30/1.56 = ( F2 @ X4 ) )
% 0.30/1.56 => ( member_nat @ B @ ( image_1742782760nt_nat @ F2 @ A4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_219_rev__image__eqI,axiom,
% 0.30/1.56 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,B: produc1260470173ar_int,F2: produc1260470173ar_int > produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X4 @ A4 )
% 0.30/1.56 => ( ( B
% 0.30/1.56 = ( F2 @ X4 ) )
% 0.30/1.56 => ( member92250950ar_int @ B @ ( image_880790597ar_int @ F2 @ A4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_220_rev__image__eqI,axiom,
% 0.30/1.56 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,B: produc1166363805nt_com,F2: produc1260470173ar_int > produc1166363805nt_com] :
% 0.30/1.56 ( ( member92250950ar_int @ X4 @ A4 )
% 0.30/1.56 => ( ( B
% 0.30/1.56 = ( F2 @ X4 ) )
% 0.30/1.56 => ( member2145628230nt_com @ B @ ( image_786684229nt_com @ F2 @ A4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_221_rev__image__eqI,axiom,
% 0.30/1.56 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,B: nat,F2: produc1166363805nt_com > nat] :
% 0.30/1.56 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.30/1.56 => ( ( B
% 0.30/1.56 = ( F2 @ X4 ) )
% 0.30/1.56 => ( member_nat @ B @ ( image_596692520om_nat @ F2 @ A4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_222_rev__image__eqI,axiom,
% 0.30/1.56 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,B: produc1260470173ar_int,F2: produc1166363805nt_com > produc1260470173ar_int] :
% 0.30/1.56 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.30/1.56 => ( ( B
% 0.30/1.56 = ( F2 @ X4 ) )
% 0.30/1.56 => ( member92250950ar_int @ B @ ( image_1968865093ar_int @ F2 @ A4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_223_rev__image__eqI,axiom,
% 0.30/1.56 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,B: produc1166363805nt_com,F2: produc1166363805nt_com > produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.30/1.56 => ( ( B
% 0.30/1.56 = ( F2 @ X4 ) )
% 0.30/1.56 => ( member2145628230nt_com @ B @ ( image_1874758725nt_com @ F2 @ A4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_224_rev__image__eqI,axiom,
% 0.30/1.56 ! [X4: nat,A4: set_nat,B: nat,F2: nat > nat] :
% 0.30/1.56 ( ( member_nat @ X4 @ A4 )
% 0.30/1.56 => ( ( B
% 0.30/1.56 = ( F2 @ X4 ) )
% 0.30/1.56 => ( member_nat @ B @ ( image_nat_nat @ F2 @ A4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_225_ball__imageD,axiom,
% 0.30/1.56 ! [F2: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com,P: produc1260470173ar_int > $o] :
% 0.30/1.56 ( ! [X3: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X3 @ ( image_1968865093ar_int @ F2 @ A4 ) )
% 0.30/1.56 => ( P @ X3 ) )
% 0.30/1.56 => ! [X5: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X5 @ A4 )
% 0.30/1.56 => ( P @ ( F2 @ X5 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_226_ball__imageD,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > produc1166363805nt_com,A4: set_Pr1148378109ar_int,P: produc1166363805nt_com > $o] :
% 0.30/1.56 ( ! [X3: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X3 @ ( image_786684229nt_com @ F2 @ A4 ) )
% 0.30/1.56 => ( P @ X3 ) )
% 0.30/1.56 => ! [X5: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X5 @ A4 )
% 0.30/1.56 => ( P @ ( F2 @ X5 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_227_ball__imageD,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > nat,A4: set_Pr1148378109ar_int,P: nat > $o] :
% 0.30/1.56 ( ! [X3: nat] :
% 0.30/1.56 ( ( member_nat @ X3 @ ( image_1742782760nt_nat @ F2 @ A4 ) )
% 0.30/1.56 => ( P @ X3 ) )
% 0.30/1.56 => ! [X5: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X5 @ A4 )
% 0.30/1.56 => ( P @ ( F2 @ X5 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_228_ball__imageD,axiom,
% 0.30/1.56 ! [F2: nat > nat,A4: set_nat,P: nat > $o] :
% 0.30/1.56 ( ! [X3: nat] :
% 0.30/1.56 ( ( member_nat @ X3 @ ( image_nat_nat @ F2 @ A4 ) )
% 0.30/1.56 => ( P @ X3 ) )
% 0.30/1.56 => ! [X5: nat] :
% 0.30/1.56 ( ( member_nat @ X5 @ A4 )
% 0.30/1.56 => ( P @ ( F2 @ X5 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_229_image__cong,axiom,
% 0.30/1.56 ! [M2: set_Pr1148378109ar_int,N4: set_Pr1148378109ar_int,F2: produc1260470173ar_int > produc1166363805nt_com,G: produc1260470173ar_int > produc1166363805nt_com] :
% 0.30/1.56 ( ( M2 = N4 )
% 0.30/1.56 => ( ! [X3: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X3 @ N4 )
% 0.30/1.56 => ( ( F2 @ X3 )
% 0.30/1.56 = ( G @ X3 ) ) )
% 0.30/1.56 => ( ( image_786684229nt_com @ F2 @ M2 )
% 0.30/1.56 = ( image_786684229nt_com @ G @ N4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_230_image__cong,axiom,
% 0.30/1.56 ! [M2: set_Pr1148378109ar_int,N4: set_Pr1148378109ar_int,F2: produc1260470173ar_int > nat,G: produc1260470173ar_int > nat] :
% 0.30/1.56 ( ( M2 = N4 )
% 0.30/1.56 => ( ! [X3: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X3 @ N4 )
% 0.30/1.56 => ( ( F2 @ X3 )
% 0.30/1.56 = ( G @ X3 ) ) )
% 0.30/1.56 => ( ( image_1742782760nt_nat @ F2 @ M2 )
% 0.30/1.56 = ( image_1742782760nt_nat @ G @ N4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_231_image__cong,axiom,
% 0.30/1.56 ! [M2: set_Pr866150653nt_com,N4: set_Pr866150653nt_com,F2: produc1166363805nt_com > produc1260470173ar_int,G: produc1166363805nt_com > produc1260470173ar_int] :
% 0.30/1.56 ( ( M2 = N4 )
% 0.30/1.56 => ( ! [X3: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X3 @ N4 )
% 0.30/1.56 => ( ( F2 @ X3 )
% 0.30/1.56 = ( G @ X3 ) ) )
% 0.30/1.56 => ( ( image_1968865093ar_int @ F2 @ M2 )
% 0.30/1.56 = ( image_1968865093ar_int @ G @ N4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_232_image__cong,axiom,
% 0.30/1.56 ! [M2: set_nat,N4: set_nat,F2: nat > nat,G: nat > nat] :
% 0.30/1.56 ( ( M2 = N4 )
% 0.30/1.56 => ( ! [X3: nat] :
% 0.30/1.56 ( ( member_nat @ X3 @ N4 )
% 0.30/1.56 => ( ( F2 @ X3 )
% 0.30/1.56 = ( G @ X3 ) ) )
% 0.30/1.56 => ( ( image_nat_nat @ F2 @ M2 )
% 0.30/1.56 = ( image_nat_nat @ G @ N4 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_233_bex__imageD,axiom,
% 0.30/1.56 ! [F2: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com,P: produc1260470173ar_int > $o] :
% 0.30/1.56 ( ? [X5: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X5 @ ( image_1968865093ar_int @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X5 ) )
% 0.30/1.56 => ? [X3: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X3 @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X3 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_234_bex__imageD,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > produc1166363805nt_com,A4: set_Pr1148378109ar_int,P: produc1166363805nt_com > $o] :
% 0.30/1.56 ( ? [X5: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X5 @ ( image_786684229nt_com @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X5 ) )
% 0.30/1.56 => ? [X3: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X3 @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X3 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_235_bex__imageD,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > nat,A4: set_Pr1148378109ar_int,P: nat > $o] :
% 0.30/1.56 ( ? [X5: nat] :
% 0.30/1.56 ( ( member_nat @ X5 @ ( image_1742782760nt_nat @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X5 ) )
% 0.30/1.56 => ? [X3: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X3 @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X3 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_236_bex__imageD,axiom,
% 0.30/1.56 ! [F2: nat > nat,A4: set_nat,P: nat > $o] :
% 0.30/1.56 ( ? [X5: nat] :
% 0.30/1.56 ( ( member_nat @ X5 @ ( image_nat_nat @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X5 ) )
% 0.30/1.56 => ? [X3: nat] :
% 0.30/1.56 ( ( member_nat @ X3 @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X3 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_237_image__iff,axiom,
% 0.30/1.56 ! [Z: nat,F2: produc1260470173ar_int > nat,A4: set_Pr1148378109ar_int] :
% 0.30/1.56 ( ( member_nat @ Z @ ( image_1742782760nt_nat @ F2 @ A4 ) )
% 0.30/1.56 = ( ? [X: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X @ A4 )
% 0.30/1.56 & ( Z
% 0.30/1.56 = ( F2 @ X ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_238_image__iff,axiom,
% 0.30/1.56 ! [Z: produc1260470173ar_int,F2: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com] :
% 0.30/1.56 ( ( member92250950ar_int @ Z @ ( image_1968865093ar_int @ F2 @ A4 ) )
% 0.30/1.56 = ( ? [X: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X @ A4 )
% 0.30/1.56 & ( Z
% 0.30/1.56 = ( F2 @ X ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_239_image__iff,axiom,
% 0.30/1.56 ! [Z: produc1166363805nt_com,F2: produc1260470173ar_int > produc1166363805nt_com,A4: set_Pr1148378109ar_int] :
% 0.30/1.56 ( ( member2145628230nt_com @ Z @ ( image_786684229nt_com @ F2 @ A4 ) )
% 0.30/1.56 = ( ? [X: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X @ A4 )
% 0.30/1.56 & ( Z
% 0.30/1.56 = ( F2 @ X ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_240_image__iff,axiom,
% 0.30/1.56 ! [Z: nat,F2: nat > nat,A4: set_nat] :
% 0.30/1.56 ( ( member_nat @ Z @ ( image_nat_nat @ F2 @ A4 ) )
% 0.30/1.56 = ( ? [X: nat] :
% 0.30/1.56 ( ( member_nat @ X @ A4 )
% 0.30/1.56 & ( Z
% 0.30/1.56 = ( F2 @ X ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_241_imageI,axiom,
% 0.30/1.56 ! [X4: nat,A4: set_nat,F2: nat > produc1260470173ar_int] :
% 0.30/1.56 ( ( member_nat @ X4 @ A4 )
% 0.30/1.56 => ( member92250950ar_int @ ( F2 @ X4 ) @ ( image_338722310ar_int @ F2 @ A4 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_242_imageI,axiom,
% 0.30/1.56 ! [X4: nat,A4: set_nat,F2: nat > produc1166363805nt_com] :
% 0.30/1.56 ( ( member_nat @ X4 @ A4 )
% 0.30/1.56 => ( member2145628230nt_com @ ( F2 @ X4 ) @ ( image_244615942nt_com @ F2 @ A4 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_243_imageI,axiom,
% 0.30/1.56 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,F2: produc1260470173ar_int > nat] :
% 0.30/1.56 ( ( member92250950ar_int @ X4 @ A4 )
% 0.30/1.56 => ( member_nat @ ( F2 @ X4 ) @ ( image_1742782760nt_nat @ F2 @ A4 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_244_imageI,axiom,
% 0.30/1.56 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,F2: produc1260470173ar_int > produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X4 @ A4 )
% 0.30/1.56 => ( member92250950ar_int @ ( F2 @ X4 ) @ ( image_880790597ar_int @ F2 @ A4 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_245_imageI,axiom,
% 0.30/1.56 ! [X4: produc1260470173ar_int,A4: set_Pr1148378109ar_int,F2: produc1260470173ar_int > produc1166363805nt_com] :
% 0.30/1.56 ( ( member92250950ar_int @ X4 @ A4 )
% 0.30/1.56 => ( member2145628230nt_com @ ( F2 @ X4 ) @ ( image_786684229nt_com @ F2 @ A4 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_246_imageI,axiom,
% 0.30/1.56 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,F2: produc1166363805nt_com > nat] :
% 0.30/1.56 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.30/1.56 => ( member_nat @ ( F2 @ X4 ) @ ( image_596692520om_nat @ F2 @ A4 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_247_imageI,axiom,
% 0.30/1.56 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,F2: produc1166363805nt_com > produc1260470173ar_int] :
% 0.30/1.56 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.30/1.56 => ( member92250950ar_int @ ( F2 @ X4 ) @ ( image_1968865093ar_int @ F2 @ A4 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_248_imageI,axiom,
% 0.30/1.56 ! [X4: produc1166363805nt_com,A4: set_Pr866150653nt_com,F2: produc1166363805nt_com > produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X4 @ A4 )
% 0.30/1.56 => ( member2145628230nt_com @ ( F2 @ X4 ) @ ( image_1874758725nt_com @ F2 @ A4 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_249_imageI,axiom,
% 0.30/1.56 ! [X4: nat,A4: set_nat,F2: nat > nat] :
% 0.30/1.56 ( ( member_nat @ X4 @ A4 )
% 0.30/1.56 => ( member_nat @ ( F2 @ X4 ) @ ( image_nat_nat @ F2 @ A4 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_250_n__not__Suc__n,axiom,
% 0.30/1.56 ! [N3: nat] :
% 0.30/1.56 ( N3
% 0.30/1.56 != ( suc @ N3 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_251_Suc__inject,axiom,
% 0.30/1.56 ! [X4: nat,Y: nat] :
% 0.30/1.56 ( ( ( suc @ X4 )
% 0.30/1.56 = ( suc @ Y ) )
% 0.30/1.56 => ( X4 = Y ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_252_fun__upd__idem__iff,axiom,
% 0.30/1.56 ! [F2: list_char > int,X4: list_char,Y: int] :
% 0.30/1.56 ( ( ( fun_up103088396ar_int @ F2 @ X4 @ Y )
% 0.30/1.56 = F2 )
% 0.30/1.56 = ( ( F2 @ X4 )
% 0.30/1.56 = Y ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_253_fun__upd__twist,axiom,
% 0.30/1.56 ! [A: list_char,C: list_char,M: list_char > int,B: int,D: int] :
% 0.30/1.56 ( ( A != C )
% 0.30/1.56 => ( ( fun_up103088396ar_int @ ( fun_up103088396ar_int @ M @ A @ B ) @ C @ D )
% 0.30/1.56 = ( fun_up103088396ar_int @ ( fun_up103088396ar_int @ M @ C @ D ) @ A @ B ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_254_fun__upd__other,axiom,
% 0.30/1.56 ! [Z: list_char,X4: list_char,F2: list_char > int,Y: int] :
% 0.30/1.56 ( ( Z != X4 )
% 0.30/1.56 => ( ( fun_up103088396ar_int @ F2 @ X4 @ Y @ Z )
% 0.30/1.56 = ( F2 @ Z ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_255_fun__upd__same,axiom,
% 0.30/1.56 ! [F2: list_char > int,X4: list_char,Y: int] :
% 0.30/1.56 ( ( fun_up103088396ar_int @ F2 @ X4 @ Y @ X4 )
% 0.30/1.56 = Y ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_256_fun__upd__idem,axiom,
% 0.30/1.56 ! [F2: list_char > int,X4: list_char,Y: int] :
% 0.30/1.56 ( ( ( F2 @ X4 )
% 0.30/1.56 = Y )
% 0.30/1.56 => ( ( fun_up103088396ar_int @ F2 @ X4 @ Y )
% 0.30/1.56 = F2 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_257_fun__upd__eqD,axiom,
% 0.30/1.56 ! [F2: list_char > int,X4: list_char,Y: int,G: list_char > int,Z: int] :
% 0.30/1.56 ( ( ( fun_up103088396ar_int @ F2 @ X4 @ Y )
% 0.30/1.56 = ( fun_up103088396ar_int @ G @ X4 @ Z ) )
% 0.30/1.56 => ( Y = Z ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_258_fun__upd__def,axiom,
% 0.30/1.56 ( fun_up103088396ar_int
% 0.30/1.56 = ( ^ [F: list_char > int,A5: list_char,B4: int,X: list_char] : ( if_int @ ( X = A5 ) @ B4 @ ( F @ X ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_259_Compr__image__eq,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > produc1260470173ar_int,A4: set_Pr1148378109ar_int,P: produc1260470173ar_int > $o] :
% 0.30/1.56 ( ( collec770796680ar_int
% 0.30/1.56 @ ^ [X: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X @ ( image_880790597ar_int @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X ) ) )
% 0.30/1.56 = ( image_880790597ar_int @ F2
% 0.30/1.56 @ ( collec770796680ar_int
% 0.30/1.56 @ ^ [X: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_260_Compr__image__eq,axiom,
% 0.30/1.56 ! [F2: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com,P: produc1260470173ar_int > $o] :
% 0.30/1.56 ( ( collec770796680ar_int
% 0.30/1.56 @ ^ [X: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X @ ( image_1968865093ar_int @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X ) ) )
% 0.30/1.56 = ( image_1968865093ar_int @ F2
% 0.30/1.56 @ ( collec676690312nt_com
% 0.30/1.56 @ ^ [X: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_261_Compr__image__eq,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > produc1166363805nt_com,A4: set_Pr1148378109ar_int,P: produc1166363805nt_com > $o] :
% 0.30/1.56 ( ( collec676690312nt_com
% 0.30/1.56 @ ^ [X: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X @ ( image_786684229nt_com @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X ) ) )
% 0.30/1.56 = ( image_786684229nt_com @ F2
% 0.30/1.56 @ ( collec770796680ar_int
% 0.30/1.56 @ ^ [X: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_262_Compr__image__eq,axiom,
% 0.30/1.56 ! [F2: produc1166363805nt_com > produc1166363805nt_com,A4: set_Pr866150653nt_com,P: produc1166363805nt_com > $o] :
% 0.30/1.56 ( ( collec676690312nt_com
% 0.30/1.56 @ ^ [X: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X @ ( image_1874758725nt_com @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X ) ) )
% 0.30/1.56 = ( image_1874758725nt_com @ F2
% 0.30/1.56 @ ( collec676690312nt_com
% 0.30/1.56 @ ^ [X: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_263_Compr__image__eq,axiom,
% 0.30/1.56 ! [F2: nat > produc1260470173ar_int,A4: set_nat,P: produc1260470173ar_int > $o] :
% 0.30/1.56 ( ( collec770796680ar_int
% 0.30/1.56 @ ^ [X: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X @ ( image_338722310ar_int @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X ) ) )
% 0.30/1.56 = ( image_338722310ar_int @ F2
% 0.30/1.56 @ ( collect_nat
% 0.30/1.56 @ ^ [X: nat] :
% 0.30/1.56 ( ( member_nat @ X @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_264_Compr__image__eq,axiom,
% 0.30/1.56 ! [F2: nat > produc1166363805nt_com,A4: set_nat,P: produc1166363805nt_com > $o] :
% 0.30/1.56 ( ( collec676690312nt_com
% 0.30/1.56 @ ^ [X: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X @ ( image_244615942nt_com @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X ) ) )
% 0.30/1.56 = ( image_244615942nt_com @ F2
% 0.30/1.56 @ ( collect_nat
% 0.30/1.56 @ ^ [X: nat] :
% 0.30/1.56 ( ( member_nat @ X @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_265_Compr__image__eq,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > nat,A4: set_Pr1148378109ar_int,P: nat > $o] :
% 0.30/1.56 ( ( collect_nat
% 0.30/1.56 @ ^ [X: nat] :
% 0.30/1.56 ( ( member_nat @ X @ ( image_1742782760nt_nat @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X ) ) )
% 0.30/1.56 = ( image_1742782760nt_nat @ F2
% 0.30/1.56 @ ( collec770796680ar_int
% 0.30/1.56 @ ^ [X: produc1260470173ar_int] :
% 0.30/1.56 ( ( member92250950ar_int @ X @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_266_Compr__image__eq,axiom,
% 0.30/1.56 ! [F2: produc1166363805nt_com > nat,A4: set_Pr866150653nt_com,P: nat > $o] :
% 0.30/1.56 ( ( collect_nat
% 0.30/1.56 @ ^ [X: nat] :
% 0.30/1.56 ( ( member_nat @ X @ ( image_596692520om_nat @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X ) ) )
% 0.30/1.56 = ( image_596692520om_nat @ F2
% 0.30/1.56 @ ( collec676690312nt_com
% 0.30/1.56 @ ^ [X: produc1166363805nt_com] :
% 0.30/1.56 ( ( member2145628230nt_com @ X @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_267_Compr__image__eq,axiom,
% 0.30/1.56 ! [F2: nat > nat,A4: set_nat,P: nat > $o] :
% 0.30/1.56 ( ( collect_nat
% 0.30/1.56 @ ^ [X: nat] :
% 0.30/1.56 ( ( member_nat @ X @ ( image_nat_nat @ F2 @ A4 ) )
% 0.30/1.56 & ( P @ X ) ) )
% 0.30/1.56 = ( image_nat_nat @ F2
% 0.30/1.56 @ ( collect_nat
% 0.30/1.56 @ ^ [X: nat] :
% 0.30/1.56 ( ( member_nat @ X @ A4 )
% 0.30/1.56 & ( P @ ( F2 @ X ) ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_268_image__image,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > produc1166363805nt_com,G: produc1260470173ar_int > produc1260470173ar_int,A4: set_Pr1148378109ar_int] :
% 0.30/1.56 ( ( image_786684229nt_com @ F2 @ ( image_880790597ar_int @ G @ A4 ) )
% 0.30/1.56 = ( image_786684229nt_com
% 0.30/1.56 @ ^ [X: produc1260470173ar_int] : ( F2 @ ( G @ X ) )
% 0.30/1.56 @ A4 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_269_image__image,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > produc1166363805nt_com,G: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com] :
% 0.30/1.56 ( ( image_786684229nt_com @ F2 @ ( image_1968865093ar_int @ G @ A4 ) )
% 0.30/1.56 = ( image_1874758725nt_com
% 0.30/1.56 @ ^ [X: produc1166363805nt_com] : ( F2 @ ( G @ X ) )
% 0.30/1.56 @ A4 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_270_image__image,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > nat,G: nat > produc1260470173ar_int,A4: set_nat] :
% 0.30/1.56 ( ( image_1742782760nt_nat @ F2 @ ( image_338722310ar_int @ G @ A4 ) )
% 0.30/1.56 = ( image_nat_nat
% 0.30/1.56 @ ^ [X: nat] : ( F2 @ ( G @ X ) )
% 0.30/1.56 @ A4 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_271_image__image,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > nat,G: produc1260470173ar_int > produc1260470173ar_int,A4: set_Pr1148378109ar_int] :
% 0.30/1.56 ( ( image_1742782760nt_nat @ F2 @ ( image_880790597ar_int @ G @ A4 ) )
% 0.30/1.56 = ( image_1742782760nt_nat
% 0.30/1.56 @ ^ [X: produc1260470173ar_int] : ( F2 @ ( G @ X ) )
% 0.30/1.56 @ A4 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_272_image__image,axiom,
% 0.30/1.56 ! [F2: produc1260470173ar_int > nat,G: produc1166363805nt_com > produc1260470173ar_int,A4: set_Pr866150653nt_com] :
% 0.30/1.56 ( ( image_1742782760nt_nat @ F2 @ ( image_1968865093ar_int @ G @ A4 ) )
% 0.30/1.56 = ( image_596692520om_nat
% 0.30/1.56 @ ^ [X: produc1166363805nt_com] : ( F2 @ ( G @ X ) )
% 0.30/1.56 @ A4 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_273_image__image,axiom,
% 0.30/1.56 ! [F2: nat > nat,G: nat > nat,A4: set_nat] :
% 0.30/1.56 ( ( image_nat_nat @ F2 @ ( image_nat_nat @ G @ A4 ) )
% 0.30/1.56 = ( image_nat_nat
% 0.30/1.56 @ ^ [X: nat] : ( F2 @ ( G @ X ) )
% 0.30/1.56 @ A4 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_274_imageE,axiom,
% 0.30/1.56 ! [B: nat,F2: nat > nat,A4: set_nat] :
% 0.30/1.56 ( ( member_nat @ B @ ( image_nat_nat @ F2 @ A4 ) )
% 0.30/1.56 => ~ ! [X3: nat] :
% 0.30/1.56 ( ( B
% 0.30/1.56 = ( F2 @ X3 ) )
% 0.30/1.56 => ~ ( member_nat @ X3 @ A4 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_275_add__Suc,axiom,
% 0.30/1.56 ! [M: nat,N3: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ ( suc @ M ) @ N3 )
% 0.30/1.56 = ( suc @ ( plus_plus_nat @ M @ N3 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_276_nat__arith_Osuc1,axiom,
% 0.30/1.56 ! [A4: nat,K: nat,A: nat] :
% 0.30/1.56 ( ( A4
% 0.30/1.56 = ( plus_plus_nat @ K @ A ) )
% 0.30/1.56 => ( ( suc @ A4 )
% 0.30/1.56 = ( plus_plus_nat @ K @ ( suc @ A ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_277_add__Suc__shift,axiom,
% 0.30/1.56 ! [M: nat,N3: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ ( suc @ M ) @ N3 )
% 0.30/1.56 = ( plus_plus_nat @ M @ ( suc @ N3 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_278_add__right__cancel,axiom,
% 0.30/1.56 ! [B: nat,A: nat,C: nat] :
% 0.30/1.56 ( ( ( plus_plus_nat @ B @ A )
% 0.30/1.56 = ( plus_plus_nat @ C @ A ) )
% 0.30/1.56 = ( B = C ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_279_add__left__cancel,axiom,
% 0.30/1.56 ! [A: nat,B: nat,C: nat] :
% 0.30/1.56 ( ( ( plus_plus_nat @ A @ B )
% 0.30/1.56 = ( plus_plus_nat @ A @ C ) )
% 0.30/1.56 = ( B = C ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_280_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
% 0.30/1.56 ! [A: nat,B: nat,C: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
% 0.30/1.56 = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_281_add__mono__thms__linordered__semiring_I4_J,axiom,
% 0.30/1.56 ! [I: nat,J: nat,K: nat,L: nat] :
% 0.30/1.56 ( ( ( I = J )
% 0.30/1.56 & ( K = L ) )
% 0.30/1.56 => ( ( plus_plus_nat @ I @ K )
% 0.30/1.56 = ( plus_plus_nat @ J @ L ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_282_group__cancel_Oadd1,axiom,
% 0.30/1.56 ! [A4: nat,K: nat,A: nat,B: nat] :
% 0.30/1.56 ( ( A4
% 0.30/1.56 = ( plus_plus_nat @ K @ A ) )
% 0.30/1.56 => ( ( plus_plus_nat @ A4 @ B )
% 0.30/1.56 = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_283_group__cancel_Oadd2,axiom,
% 0.30/1.56 ! [B5: nat,K: nat,B: nat,A: nat] :
% 0.30/1.56 ( ( B5
% 0.30/1.56 = ( plus_plus_nat @ K @ B ) )
% 0.30/1.56 => ( ( plus_plus_nat @ A @ B5 )
% 0.30/1.56 = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_284_add_Oassoc,axiom,
% 0.30/1.56 ! [A: nat,B: nat,C: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
% 0.30/1.56 = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_285_add_Ocommute,axiom,
% 0.30/1.56 ( plus_plus_nat
% 0.30/1.56 = ( ^ [A5: nat,B4: nat] : ( plus_plus_nat @ B4 @ A5 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_286_add_Oleft__commute,axiom,
% 0.30/1.56 ! [B: nat,A: nat,C: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ B @ ( plus_plus_nat @ A @ C ) )
% 0.30/1.56 = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_287_add__left__imp__eq,axiom,
% 0.30/1.56 ! [A: nat,B: nat,C: nat] :
% 0.30/1.56 ( ( ( plus_plus_nat @ A @ B )
% 0.30/1.56 = ( plus_plus_nat @ A @ C ) )
% 0.30/1.56 => ( B = C ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_288_add__right__imp__eq,axiom,
% 0.30/1.56 ! [B: nat,A: nat,C: nat] :
% 0.30/1.56 ( ( ( plus_plus_nat @ B @ A )
% 0.30/1.56 = ( plus_plus_nat @ C @ A ) )
% 0.30/1.56 => ( B = C ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_289_case__prod__Pair__iden,axiom,
% 0.30/1.56 ! [P4: produc1260470173ar_int] :
% 0.30/1.56 ( ( produc1288559923ar_int @ produc1193801173ar_int @ P4 )
% 0.30/1.56 = P4 ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_290_Assign__ir__valid,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,X4: list_char,E: aexp,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.56 ( ( relati775585786_valid
% 0.30/1.56 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.56 ? [V3: int] :
% 0.30/1.56 ( ( P @ ( fun_up103088396ar_int @ T4 @ X4 @ V3 ) @ T5 )
% 0.30/1.56 & ( ( T4 @ X4 )
% 0.30/1.56 = ( aval @ E @ ( fun_up103088396ar_int @ T4 @ X4 @ V3 ) ) ) )
% 0.30/1.56 @ skip
% 0.30/1.56 @ C2
% 0.30/1.56 @ Q )
% 0.30/1.56 => ( relati775585786_valid @ P @ ( assign @ X4 @ E ) @ C2 @ Q ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_291_ir__Assign,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,X4: list_char,E: aexp,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.56 ( ( relati2102071307_hoare
% 0.30/1.56 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.56 ? [V3: int] :
% 0.30/1.56 ( ( P @ ( fun_up103088396ar_int @ T4 @ X4 @ V3 ) @ T5 )
% 0.30/1.56 & ( ( T4 @ X4 )
% 0.30/1.56 = ( aval @ E @ ( fun_up103088396ar_int @ T4 @ X4 @ V3 ) ) ) )
% 0.30/1.56 @ skip
% 0.30/1.56 @ C2
% 0.30/1.56 @ Q )
% 0.30/1.56 => ( relati2102071307_hoare @ P @ ( assign @ X4 @ E ) @ C2 @ Q ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_292_setcompr__eq__image,axiom,
% 0.30/1.56 ! [F2: nat > nat,P: nat > $o] :
% 0.30/1.56 ( ( collect_nat
% 0.30/1.56 @ ^ [Uu: nat] :
% 0.30/1.56 ? [X: nat] :
% 0.30/1.56 ( ( Uu
% 0.30/1.56 = ( F2 @ X ) )
% 0.30/1.56 & ( P @ X ) ) )
% 0.30/1.56 = ( image_nat_nat @ F2 @ ( collect_nat @ P ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_293_Setcompr__eq__image,axiom,
% 0.30/1.56 ! [F2: nat > nat,A4: set_nat] :
% 0.30/1.56 ( ( collect_nat
% 0.30/1.56 @ ^ [Uu: nat] :
% 0.30/1.56 ? [X: nat] :
% 0.30/1.56 ( ( Uu
% 0.30/1.56 = ( F2 @ X ) )
% 0.30/1.56 & ( member_nat @ X @ A4 ) ) )
% 0.30/1.56 = ( image_nat_nat @ F2 @ A4 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_294_ir__valid__While2,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.56 ( ( relati775585786_valid @ P @ ( while @ B @ C ) @ C2 @ Q )
% 0.30/1.56 => ( relati775585786_valid
% 0.30/1.56 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( P @ S @ S2 )
% 0.30/1.56 & ~ ( bval @ B @ S ) )
% 0.30/1.56 @ skip
% 0.30/1.56 @ C2
% 0.30/1.56 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.56 ( ( Q @ T4 @ T5 )
% 0.30/1.56 & ? [S2: list_char > int] :
% 0.30/1.56 ( ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.30/1.56 & ( P @ T4 @ S2 )
% 0.30/1.56 & ~ ( bval @ B @ T4 ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_295_ir__valid__Seq1_H,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C1: com,C22: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.56 ( ( relati775585786_valid @ P @ ( seq @ C1 @ C22 ) @ C2 @ Q )
% 0.30/1.56 => ( relati775585786_valid
% 0.30/1.56 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.56 ? [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( P @ S @ S2 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C1 @ S ) @ T4 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.30/1.56 & ? [U2: list_char > int] :
% 0.30/1.56 ( ( big_big_step @ ( produc1193801173ar_int @ C22 @ T4 ) @ U2 )
% 0.30/1.56 & ( Q @ U2 @ T5 ) ) )
% 0.30/1.56 @ C22
% 0.30/1.56 @ skip
% 0.30/1.56 @ Q ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_296_ir__valid__track__history,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o,S7: list_char > int,S6: list_char > int] :
% 0.30/1.56 ( ( relati775585786_valid @ P @ C @ C2 @ Q )
% 0.30/1.56 => ( relati775585786_valid @ P @ C @ C2
% 0.30/1.56 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.56 ( ( Q @ S7 @ S6 )
% 0.30/1.56 & ? [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( P @ S @ S2 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C @ S ) @ T4 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_297_decomp__def,axiom,
% 0.30/1.56 ( relati1310524937decomp
% 0.30/1.56 = ( ^ [P2: ( list_char > int ) > ( list_char > int ) > $o,C3: com,C4: com,Q2: ( list_char > int ) > ( list_char > int ) > $o,T4: list_char > int,S2: list_char > int] :
% 0.30/1.56 ? [S: list_char > int,T5: list_char > int] :
% 0.30/1.56 ( ( P2 @ S @ S2 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C3 @ S ) @ T4 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C4 @ S2 ) @ T5 )
% 0.30/1.56 & ( Q2 @ T4 @ T5 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_298_ir__valid__Seq1,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,C1: com,C22: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.56 ( ( relati775585786_valid @ P @ ( seq @ C1 @ C22 ) @ C2 @ Q )
% 0.30/1.56 => ( relati775585786_valid @ P @ C1 @ C2
% 0.30/1.56 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.56 ? [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( P @ S @ S2 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C1 @ S ) @ T4 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.30/1.56 & ? [U2: list_char > int] :
% 0.30/1.56 ( ( big_big_step @ ( produc1193801173ar_int @ C22 @ T4 ) @ U2 )
% 0.30/1.56 & ( Q @ U2 @ T5 ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_299_ir__valid__If,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C1: com,C22: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.56 ( ( relati775585786_valid @ P @ ( if @ B @ C1 @ C22 ) @ C2 @ Q )
% 0.30/1.56 => ( ( relati775585786_valid
% 0.30/1.56 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( P @ S @ S2 )
% 0.30/1.56 & ( bval @ B @ S ) )
% 0.30/1.56 @ C1
% 0.30/1.56 @ C2
% 0.30/1.56 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.56 ( ( Q @ T4 @ T5 )
% 0.30/1.56 & ? [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( P @ S @ S2 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C1 @ S ) @ T4 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.30/1.56 & ( bval @ B @ S ) ) ) )
% 0.30/1.56 & ( relati775585786_valid
% 0.30/1.56 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( P @ S @ S2 )
% 0.30/1.56 & ~ ( bval @ B @ S ) )
% 0.30/1.56 @ C22
% 0.30/1.56 @ C2
% 0.30/1.56 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.56 ( ( Q @ T4 @ T5 )
% 0.30/1.56 & ? [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( P @ S @ S2 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C22 @ S ) @ T4 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.30/1.56 & ~ ( bval @ B @ S ) ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_300_get__back_Osimps_I2_J,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,N3: nat] :
% 0.30/1.56 ( ( relati23543761ar_int @ P @ B @ C @ ( suc @ N3 ) )
% 0.30/1.56 = ( ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.56 ? [S: list_char > int] :
% 0.30/1.56 ( ( big_big_step @ ( produc1193801173ar_int @ C @ S ) @ T4 )
% 0.30/1.56 & ( bval @ B @ S )
% 0.30/1.56 & ( relati23543761ar_int @ P @ B @ C @ N3 @ S @ T5 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_301_ir__valid__While1,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,K: nat,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.56 ( ( relati775585786_valid @ ( relati23543761ar_int @ P @ B @ C @ K ) @ ( while @ B @ C ) @ C2 @ Q )
% 0.30/1.56 => ( relati775585786_valid
% 0.30/1.56 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( relati23543761ar_int @ P @ B @ C @ K @ S @ S2 )
% 0.30/1.56 & ( bval @ B @ S ) )
% 0.30/1.56 @ C
% 0.30/1.56 @ skip
% 0.30/1.56 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.56 ( ( relati23543761ar_int @ P @ B @ C @ ( suc @ K ) @ T4 @ T5 )
% 0.30/1.56 & ? [U2: list_char > int,U3: list_char > int] :
% 0.30/1.56 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ T4 ) @ U2 )
% 0.30/1.56 & ( big_big_step @ ( produc1193801173ar_int @ C2 @ T5 ) @ U3 )
% 0.30/1.56 & ( Q @ U2 @ U3 ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_302_ir__valid__get__back,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,K: nat,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.56 ( ( relati775585786_valid @ ( relati23543761ar_int @ P @ B @ C @ ( suc @ K ) ) @ ( while @ B @ C ) @ C2 @ Q )
% 0.30/1.56 => ( relati775585786_valid @ ( relati23543761ar_int @ P @ B @ C @ K ) @ ( while @ B @ C ) @ C2 @ Q ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_303_ir__valid__While3,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,K: nat,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.56 ( ( relati775585786_valid @ ( relati23543761ar_int @ P @ B @ C @ K ) @ ( while @ B @ C ) @ C2 @ Q )
% 0.30/1.56 => ( relati775585786_valid
% 0.30/1.56 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( relati23543761ar_int @ P @ B @ C @ K @ S @ S2 )
% 0.30/1.56 & ( bval @ B @ S ) )
% 0.30/1.56 @ C
% 0.30/1.56 @ C2
% 0.30/1.56 @ ^ [T4: list_char > int,T5: list_char > int] :
% 0.30/1.56 ? [S2: list_char > int] :
% 0.30/1.56 ( ( big_big_step @ ( produc1193801173ar_int @ C2 @ S2 ) @ T5 )
% 0.30/1.56 & ( relati23543761ar_int @ P @ B @ C @ ( suc @ K ) @ T4 @ S2 )
% 0.30/1.56 & ? [U2: list_char > int] :
% 0.30/1.56 ( ( big_big_step @ ( produc1193801173ar_int @ ( while @ B @ C ) @ T4 ) @ U2 )
% 0.30/1.56 & ( Q @ U2 @ T5 ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_304_While__backwards__frontier__ir__valid,axiom,
% 0.30/1.56 ! [P: nat > ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.56 ( ! [N: nat] :
% 0.30/1.56 ( relati775585786_valid
% 0.30/1.56 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( P @ N @ S @ S2 )
% 0.30/1.56 & ( bval @ B @ S ) )
% 0.30/1.56 @ C
% 0.30/1.56 @ skip
% 0.30/1.56 @ ( P @ ( suc @ N ) ) )
% 0.30/1.56 => ( ( relati775585786_valid
% 0.30/1.56 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ? [N5: nat] : ( P @ N5 @ S @ S2 )
% 0.30/1.56 @ ( while @ B @ C )
% 0.30/1.56 @ C2
% 0.30/1.56 @ Q )
% 0.30/1.56 => ( relati775585786_valid @ ( P @ zero_zero_nat ) @ ( while @ B @ C ) @ C2 @ Q ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_305_ir__While__backwards__frontier,axiom,
% 0.30/1.56 ! [P: nat > ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com,C2: com,Q: ( list_char > int ) > ( list_char > int ) > $o] :
% 0.30/1.56 ( ! [N: nat] :
% 0.30/1.56 ( relati2102071307_hoare
% 0.30/1.56 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ( ( P @ N @ S @ S2 )
% 0.30/1.56 & ( bval @ B @ S ) )
% 0.30/1.56 @ C
% 0.30/1.56 @ skip
% 0.30/1.56 @ ( P @ ( suc @ N ) ) )
% 0.30/1.56 => ( ( relati2102071307_hoare
% 0.30/1.56 @ ^ [S: list_char > int,S2: list_char > int] :
% 0.30/1.56 ? [N5: nat] : ( P @ N5 @ S @ S2 )
% 0.30/1.56 @ ( while @ B @ C )
% 0.30/1.56 @ C2
% 0.30/1.56 @ Q )
% 0.30/1.56 => ( relati2102071307_hoare @ ( P @ zero_zero_nat ) @ ( while @ B @ C ) @ C2 @ Q ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_306_add_Oleft__neutral,axiom,
% 0.30/1.56 ! [A: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ zero_zero_nat @ A )
% 0.30/1.56 = A ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_307_add_Oright__neutral,axiom,
% 0.30/1.56 ! [A: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ A @ zero_zero_nat )
% 0.30/1.56 = A ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_308_add__cancel__left__left,axiom,
% 0.30/1.56 ! [B: nat,A: nat] :
% 0.30/1.56 ( ( ( plus_plus_nat @ B @ A )
% 0.30/1.56 = A )
% 0.30/1.56 = ( B = zero_zero_nat ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_309_add__cancel__left__right,axiom,
% 0.30/1.56 ! [A: nat,B: nat] :
% 0.30/1.56 ( ( ( plus_plus_nat @ A @ B )
% 0.30/1.56 = A )
% 0.30/1.56 = ( B = zero_zero_nat ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_310_add__cancel__right__left,axiom,
% 0.30/1.56 ! [A: nat,B: nat] :
% 0.30/1.56 ( ( A
% 0.30/1.56 = ( plus_plus_nat @ B @ A ) )
% 0.30/1.56 = ( B = zero_zero_nat ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_311_add__cancel__right__right,axiom,
% 0.30/1.56 ! [A: nat,B: nat] :
% 0.30/1.56 ( ( A
% 0.30/1.56 = ( plus_plus_nat @ A @ B ) )
% 0.30/1.56 = ( B = zero_zero_nat ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_312_add__eq__0__iff__both__eq__0,axiom,
% 0.30/1.56 ! [X4: nat,Y: nat] :
% 0.30/1.56 ( ( ( plus_plus_nat @ X4 @ Y )
% 0.30/1.56 = zero_zero_nat )
% 0.30/1.56 = ( ( X4 = zero_zero_nat )
% 0.30/1.56 & ( Y = zero_zero_nat ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_313_zero__eq__add__iff__both__eq__0,axiom,
% 0.30/1.56 ! [X4: nat,Y: nat] :
% 0.30/1.56 ( ( zero_zero_nat
% 0.30/1.56 = ( plus_plus_nat @ X4 @ Y ) )
% 0.30/1.56 = ( ( X4 = zero_zero_nat )
% 0.30/1.56 & ( Y = zero_zero_nat ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_314_Nat_Oadd__0__right,axiom,
% 0.30/1.56 ! [M: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ M @ zero_zero_nat )
% 0.30/1.56 = M ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_315_add__is__0,axiom,
% 0.30/1.56 ! [M: nat,N3: nat] :
% 0.30/1.56 ( ( ( plus_plus_nat @ M @ N3 )
% 0.30/1.56 = zero_zero_nat )
% 0.30/1.56 = ( ( M = zero_zero_nat )
% 0.30/1.56 & ( N3 = zero_zero_nat ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_316_image__add__0,axiom,
% 0.30/1.56 ! [S9: set_nat] :
% 0.30/1.56 ( ( image_nat_nat @ ( plus_plus_nat @ zero_zero_nat ) @ S9 )
% 0.30/1.56 = S9 ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_317_get__back_Osimps_I1_J,axiom,
% 0.30/1.56 ! [P: ( list_char > int ) > ( list_char > int ) > $o,B: bexp,C: com] :
% 0.30/1.56 ( ( relati23543761ar_int @ P @ B @ C @ zero_zero_nat )
% 0.30/1.56 = P ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_318_nat_Odistinct_I1_J,axiom,
% 0.30/1.56 ! [X2: nat] :
% 0.30/1.56 ( zero_zero_nat
% 0.30/1.56 != ( suc @ X2 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_319_old_Onat_Odistinct_I2_J,axiom,
% 0.30/1.56 ! [Nat2: nat] :
% 0.30/1.56 ( ( suc @ Nat2 )
% 0.30/1.56 != zero_zero_nat ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_320_old_Onat_Odistinct_I1_J,axiom,
% 0.30/1.56 ! [Nat2: nat] :
% 0.30/1.56 ( zero_zero_nat
% 0.30/1.56 != ( suc @ Nat2 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_321_nat_OdiscI,axiom,
% 0.30/1.56 ! [Nat: nat,X2: nat] :
% 0.30/1.56 ( ( Nat
% 0.30/1.56 = ( suc @ X2 ) )
% 0.30/1.56 => ( Nat != zero_zero_nat ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_322_nat__induct,axiom,
% 0.30/1.56 ! [P: nat > $o,N3: nat] :
% 0.30/1.56 ( ( P @ zero_zero_nat )
% 0.30/1.56 => ( ! [N: nat] :
% 0.30/1.56 ( ( P @ N )
% 0.30/1.56 => ( P @ ( suc @ N ) ) )
% 0.30/1.56 => ( P @ N3 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_323_diff__induct,axiom,
% 0.30/1.56 ! [P: nat > nat > $o,M: nat,N3: nat] :
% 0.30/1.56 ( ! [X3: nat] : ( P @ X3 @ zero_zero_nat )
% 0.30/1.56 => ( ! [Y3: nat] : ( P @ zero_zero_nat @ ( suc @ Y3 ) )
% 0.30/1.56 => ( ! [X3: nat,Y3: nat] :
% 0.30/1.56 ( ( P @ X3 @ Y3 )
% 0.30/1.56 => ( P @ ( suc @ X3 ) @ ( suc @ Y3 ) ) )
% 0.30/1.56 => ( P @ M @ N3 ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_324_zero__induct,axiom,
% 0.30/1.56 ! [P: nat > $o,K: nat] :
% 0.30/1.56 ( ( P @ K )
% 0.30/1.56 => ( ! [N: nat] :
% 0.30/1.56 ( ( P @ ( suc @ N ) )
% 0.30/1.56 => ( P @ N ) )
% 0.30/1.56 => ( P @ zero_zero_nat ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_325_Suc__neq__Zero,axiom,
% 0.30/1.56 ! [M: nat] :
% 0.30/1.56 ( ( suc @ M )
% 0.30/1.56 != zero_zero_nat ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_326_Zero__neq__Suc,axiom,
% 0.30/1.56 ! [M: nat] :
% 0.30/1.56 ( zero_zero_nat
% 0.30/1.56 != ( suc @ M ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_327_Zero__not__Suc,axiom,
% 0.30/1.56 ! [M: nat] :
% 0.30/1.56 ( zero_zero_nat
% 0.30/1.56 != ( suc @ M ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_328_old_Onat_Oexhaust,axiom,
% 0.30/1.56 ! [Y: nat] :
% 0.30/1.56 ( ( Y != zero_zero_nat )
% 0.30/1.56 => ~ ! [Nat3: nat] :
% 0.30/1.56 ( Y
% 0.30/1.56 != ( suc @ Nat3 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_329_old_Onat_Oinducts,axiom,
% 0.30/1.56 ! [P: nat > $o,Nat: nat] :
% 0.30/1.56 ( ( P @ zero_zero_nat )
% 0.30/1.56 => ( ! [Nat3: nat] :
% 0.30/1.56 ( ( P @ Nat3 )
% 0.30/1.56 => ( P @ ( suc @ Nat3 ) ) )
% 0.30/1.56 => ( P @ Nat ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_330_not0__implies__Suc,axiom,
% 0.30/1.56 ! [N3: nat] :
% 0.30/1.56 ( ( N3 != zero_zero_nat )
% 0.30/1.56 => ? [M3: nat] :
% 0.30/1.56 ( N3
% 0.30/1.56 = ( suc @ M3 ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_331_comm__monoid__add__class_Oadd__0,axiom,
% 0.30/1.56 ! [A: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ zero_zero_nat @ A )
% 0.30/1.56 = A ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_332_add_Ocomm__neutral,axiom,
% 0.30/1.56 ! [A: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ A @ zero_zero_nat )
% 0.30/1.56 = A ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_333_add__eq__self__zero,axiom,
% 0.30/1.56 ! [M: nat,N3: nat] :
% 0.30/1.56 ( ( ( plus_plus_nat @ M @ N3 )
% 0.30/1.56 = M )
% 0.30/1.56 => ( N3 = zero_zero_nat ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_334_plus__nat_Oadd__0,axiom,
% 0.30/1.56 ! [N3: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ zero_zero_nat @ N3 )
% 0.30/1.56 = N3 ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_335_one__is__add,axiom,
% 0.30/1.56 ! [M: nat,N3: nat] :
% 0.30/1.56 ( ( ( suc @ zero_zero_nat )
% 0.30/1.56 = ( plus_plus_nat @ M @ N3 ) )
% 0.30/1.56 = ( ( ( M
% 0.30/1.56 = ( suc @ zero_zero_nat ) )
% 0.30/1.56 & ( N3 = zero_zero_nat ) )
% 0.30/1.56 | ( ( M = zero_zero_nat )
% 0.30/1.56 & ( N3
% 0.30/1.56 = ( suc @ zero_zero_nat ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_336_add__is__1,axiom,
% 0.30/1.56 ! [M: nat,N3: nat] :
% 0.30/1.56 ( ( ( plus_plus_nat @ M @ N3 )
% 0.30/1.56 = ( suc @ zero_zero_nat ) )
% 0.30/1.56 = ( ( ( M
% 0.30/1.56 = ( suc @ zero_zero_nat ) )
% 0.30/1.56 & ( N3 = zero_zero_nat ) )
% 0.30/1.56 | ( ( M = zero_zero_nat )
% 0.30/1.56 & ( N3
% 0.30/1.56 = ( suc @ zero_zero_nat ) ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_337_com_Osize__gen_I4_J,axiom,
% 0.30/1.56 ! [X41: bexp,X42: com,X43: com] :
% 0.30/1.56 ( ( size_com @ ( if @ X41 @ X42 @ X43 ) )
% 0.30/1.56 = ( plus_plus_nat @ ( plus_plus_nat @ ( size_com @ X42 ) @ ( size_com @ X43 ) ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_338_com_Osize__gen_I3_J,axiom,
% 0.30/1.56 ! [X31: com,X32: com] :
% 0.30/1.56 ( ( size_com @ ( seq @ X31 @ X32 ) )
% 0.30/1.56 = ( plus_plus_nat @ ( plus_plus_nat @ ( size_com @ X31 ) @ ( size_com @ X32 ) ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_339_com_Osize__gen_I1_J,axiom,
% 0.30/1.56 ( ( size_com @ skip )
% 0.30/1.56 = zero_zero_nat ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_340_com_Osize__gen_I2_J,axiom,
% 0.30/1.56 ! [X21: list_char,X22: aexp] :
% 0.30/1.56 ( ( size_com @ ( assign @ X21 @ X22 ) )
% 0.30/1.56 = zero_zero_nat ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_341_com_Osize__gen_I5_J,axiom,
% 0.30/1.56 ! [X51: bexp,X52: com] :
% 0.30/1.56 ( ( size_com @ ( while @ X51 @ X52 ) )
% 0.30/1.56 = ( plus_plus_nat @ ( size_com @ X52 ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_342_com_Osize_I9_J,axiom,
% 0.30/1.56 ! [X41: bexp,X42: com,X43: com] :
% 0.30/1.56 ( ( size_size_com @ ( if @ X41 @ X42 @ X43 ) )
% 0.30/1.56 = ( plus_plus_nat @ ( plus_plus_nat @ ( size_size_com @ X42 ) @ ( size_size_com @ X43 ) ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_343_com_Osize_I8_J,axiom,
% 0.30/1.56 ! [X31: com,X32: com] :
% 0.30/1.56 ( ( size_size_com @ ( seq @ X31 @ X32 ) )
% 0.30/1.56 = ( plus_plus_nat @ ( plus_plus_nat @ ( size_size_com @ X31 ) @ ( size_size_com @ X32 ) ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_344_com_Osize_I6_J,axiom,
% 0.30/1.56 ( ( size_size_com @ skip )
% 0.30/1.56 = zero_zero_nat ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_345_com_Osize_I7_J,axiom,
% 0.30/1.56 ! [X21: list_char,X22: aexp] :
% 0.30/1.56 ( ( size_size_com @ ( assign @ X21 @ X22 ) )
% 0.30/1.56 = zero_zero_nat ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_346_com_Osize_I10_J,axiom,
% 0.30/1.56 ! [X51: bexp,X52: com] :
% 0.30/1.56 ( ( size_size_com @ ( while @ X51 @ X52 ) )
% 0.30/1.56 = ( plus_plus_nat @ ( size_size_com @ X52 ) @ ( suc @ zero_zero_nat ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_347_Euclid__induct,axiom,
% 0.30/1.56 ! [P: nat > nat > $o,A: nat,B: nat] :
% 0.30/1.56 ( ! [A3: nat,B3: nat] :
% 0.30/1.56 ( ( P @ A3 @ B3 )
% 0.30/1.56 = ( P @ B3 @ A3 ) )
% 0.30/1.56 => ( ! [A3: nat] : ( P @ A3 @ zero_zero_nat )
% 0.30/1.56 => ( ! [A3: nat,B3: nat] :
% 0.30/1.56 ( ( P @ A3 @ B3 )
% 0.30/1.56 => ( P @ A3 @ ( plus_plus_nat @ A3 @ B3 ) ) )
% 0.30/1.56 => ( P @ A @ B ) ) ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_348_zero__notin__Suc__image,axiom,
% 0.30/1.56 ! [A4: set_nat] :
% 0.30/1.56 ~ ( member_nat @ zero_zero_nat @ ( image_nat_nat @ suc @ A4 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_349_add__0__iff,axiom,
% 0.30/1.56 ! [B: nat,A: nat] :
% 0.30/1.56 ( ( B
% 0.30/1.56 = ( plus_plus_nat @ B @ A ) )
% 0.30/1.56 = ( A = zero_zero_nat ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_350_verit__sum__simplify,axiom,
% 0.30/1.56 ! [A: nat] :
% 0.30/1.56 ( ( plus_plus_nat @ A @ zero_zero_nat )
% 0.30/1.56 = A ) ).
% 0.30/1.56
% 0.30/1.56 thf(fact_351_Inf_OINF__identity__eq,axiom,
% 0.30/1.56 ! [Inf: set_nat > nat,A4: set_nat] :
% 0.30/1.56 ( ( Inf
% 0.30/1.56 @ ( image_nat_nat
% 0.30/1.56 @ ^ [X: nat] : X
% 0.30/1.56 @ A4 ) )
% 0.30/1.56 = ( Inf @ A4 ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(help_If_3_1_If_001t__Int__Oint_T,axiom,
% 0.30/1.56 ! [P: $o] :
% 0.30/1.56 ( ( P = $true )
% 0.30/1.56 | ( P = $false ) ) ).
% 0.30/1.56
% 0.30/1.56 thf(help_If_2_1_If_001t__Int__Oint_T,axiom,
% 0.30/1.56 ! [X4: int,Y: int] :
% 0.30/1.56 ( ( if_int @ $false @ X4 @ Y )
% 0.30/1.56 = Y ) ).
% 0.30/1.56
% 0.30/1.56 thf(help_If_1_1_If_001t__Int__Oint_T,axiom,
% 0.30/1.56 ! [X4: int,Y: int] :
% 0.30/1.56 ( ( if_int @ $true @ X4 @ Y )
% 0.30/1.56 = X4 ) ).
% 0.30/1.56
% 0.30/1.56 thf(conj_0,conjecture,
% 0.30/1.56 ( ( relati2102071307_hoare @ p @ c @ c2 @ q )
% 0.30/1.56 = ( ( relati2102071307_hoare @ p @ c @ skip @ ( relati1310524937decomp @ p @ c @ c2 @ q ) )
% 0.30/1.56 & ( relati2102071307_hoare @ ( relati1310524937decomp @ p @ c @ c2 @ q ) @ skip @ c2 @ q ) ) ) ).
% 0.30/1.56 ------------------------
% 2.93/1.60 % (3377)lrs+1002_1:128_aac=none:au=on:cnfonf=lazy_not_gen_be_off:sos=all:i=2:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/2Mi)
% 2.93/1.60 % (3376)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/2Mi)
% 2.93/1.60 % (3374)lrs+10_1:1_c=on:cnfonf=conj_eager:fd=off:fe=off:kws=frequency:spb=intro:i=4:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/4Mi)
% 2.93/1.60 % (3377)Instruction limit reached!
% 2.93/1.60 % (3377)------------------------------
% 2.93/1.60 % (3377)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.60 % (3377)Termination reason: Unknown
% 2.93/1.60 % (3377)Termination phase: shuffling
% 2.93/1.60
% 2.93/1.60 % (3377)Memory used [KB]: 1535
% 2.93/1.60 % (3377)Time elapsed: 0.002 s
% 2.93/1.60 % (3377)Instructions burned: 2 (million)
% 2.93/1.60 % (3377)------------------------------
% 2.93/1.60 % (3377)------------------------------
% 2.93/1.60 % (3376)Instruction limit reached!
% 2.93/1.60 % (3376)------------------------------
% 2.93/1.60 % (3376)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.60 % (3376)Termination reason: Unknown
% 2.93/1.60 % (3376)Termination phase: shuffling
% 2.93/1.60
% 2.93/1.60 % (3376)Memory used [KB]: 1663
% 2.93/1.60 % (3376)Time elapsed: 0.003 s
% 2.93/1.60 % (3376)Instructions burned: 4 (million)
% 2.93/1.60 % (3376)------------------------------
% 2.93/1.60 % (3376)------------------------------
% 2.93/1.60 % (3374)Instruction limit reached!
% 2.93/1.60 % (3374)------------------------------
% 2.93/1.60 % (3374)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.60 % (3374)Termination reason: Unknown
% 2.93/1.60 % (3374)Termination phase: shuffling
% 2.93/1.60
% 2.93/1.60 % (3374)Memory used [KB]: 1663
% 2.93/1.60 % (3374)Time elapsed: 0.003 s
% 2.93/1.60 % (3374)Instructions burned: 6 (million)
% 2.93/1.60 % (3374)------------------------------
% 2.93/1.60 % (3374)------------------------------
% 2.93/1.60 % (3373)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/183Mi)
% 2.93/1.60 % (3375)dis+1010_1:1_au=on:cbe=off:chr=on:fsr=off:hfsq=on:nm=64:sos=theory:sp=weighted_frequency:i=27:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/27Mi)
% 2.93/1.60 % (3379)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/18Mi)
% 2.93/1.60 % (3378)lrs+1002_1:1_au=on:bd=off:e2e=on:sd=2:sos=on:ss=axioms:i=275:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/275Mi)
% 2.93/1.61 % (3380)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/3Mi)
% 2.93/1.61 % (3381)lrs+1002_1:1_cnfonf=lazy_not_be_gen:hud=14:prag=on:sp=weighted_frequency:tnu=1:i=37:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/37Mi)
% 2.93/1.61 % (3380)Instruction limit reached!
% 2.93/1.61 % (3380)------------------------------
% 2.93/1.61 % (3380)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.61 % (3380)Termination reason: Unknown
% 2.93/1.61 % (3380)Termination phase: shuffling
% 2.93/1.61
% 2.93/1.61 % (3380)Memory used [KB]: 1535
% 2.93/1.61 % (3380)Time elapsed: 0.002 s
% 2.93/1.61 % (3380)Instructions burned: 3 (million)
% 2.93/1.61 % (3380)------------------------------
% 2.93/1.61 % (3380)------------------------------
% 2.93/1.61 % (3382)lrs+2_16:1_acc=model:au=on:bd=off:c=on:e2e=on:nm=2:sos=all:i=15:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/15Mi)
% 2.93/1.61 % (3382)Instruction limit reached!
% 2.93/1.61 % (3382)------------------------------
% 2.93/1.61 % (3382)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.61 % (3382)Termination reason: Unknown
% 2.93/1.61 % (3382)Termination phase: shuffling
% 2.93/1.61
% 2.93/1.61 % (3382)Memory used [KB]: 1791
% 2.93/1.61 % (3382)Time elapsed: 0.007 s
% 2.93/1.61 % (3382)Instructions burned: 15 (million)
% 2.93/1.61 % (3382)------------------------------
% 2.93/1.61 % (3382)------------------------------
% 2.93/1.62 % (3379)Instruction limit reached!
% 2.93/1.62 % (3379)------------------------------
% 2.93/1.62 % (3379)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.62 % (3379)Termination reason: Unknown
% 2.93/1.62 % (3379)Termination phase: shuffling
% 2.93/1.62
% 2.93/1.62 % (3379)Memory used [KB]: 1791
% 2.93/1.62 % (3379)Time elapsed: 0.013 s
% 2.93/1.62 % (3379)Instructions burned: 19 (million)
% 2.93/1.62 % (3379)------------------------------
% 2.93/1.62 % (3379)------------------------------
% 2.93/1.62 % (3383)dis+21_1:1_cbe=off:cnfonf=off:fs=off:fsr=off:hud=1:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/3Mi)
% 2.93/1.62 % (3381)Instruction limit reached!
% 2.93/1.62 % (3381)------------------------------
% 2.93/1.62 % (3381)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.62 % (3381)Termination reason: Unknown
% 2.93/1.62 % (3381)Termination phase: shuffling
% 2.93/1.62
% 2.93/1.62 % (3381)Memory used [KB]: 2302
% 2.93/1.62 % (3381)Time elapsed: 0.011 s
% 2.93/1.62 % (3381)Instructions burned: 37 (million)
% 2.93/1.62 % (3381)------------------------------
% 2.93/1.62 % (3381)------------------------------
% 2.93/1.62 % (3383)Instruction limit reached!
% 2.93/1.62 % (3383)------------------------------
% 2.93/1.62 % (3383)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.62 % (3383)Termination reason: Unknown
% 2.93/1.62 % (3383)Termination phase: shuffling
% 2.93/1.62
% 2.93/1.62 % (3383)Memory used [KB]: 1535
% 2.93/1.62 % (3383)Time elapsed: 0.002 s
% 2.93/1.62 % (3383)Instructions burned: 3 (million)
% 2.93/1.62 % (3383)------------------------------
% 2.93/1.62 % (3383)------------------------------
% 2.93/1.62 % (3375)Instruction limit reached!
% 2.93/1.62 % (3375)------------------------------
% 2.93/1.62 % (3375)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.62 % (3375)Termination reason: Unknown
% 2.93/1.62 % (3375)Termination phase: shuffling
% 2.93/1.62
% 2.93/1.62 % (3375)Memory used [KB]: 1918
% 2.93/1.62 % (3375)Time elapsed: 0.018 s
% 2.93/1.62 % (3375)Instructions burned: 27 (million)
% 2.93/1.62 % (3375)------------------------------
% 2.93/1.62 % (3375)------------------------------
% 2.93/1.62 % (3384)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=1041:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/1041Mi)
% 2.93/1.63 % (3385)lrs+10_1:1_av=off:chr=on:plsq=on:slsq=on:i=7:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/7Mi)
% 2.93/1.63 % (3386)lrs+10_1:1_acc=on:amm=sco:cs=on:tgt=full:i=16:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/16Mi)
% 2.93/1.63 % (3387)lrs+21_1:1_au=on:cnfonf=off:fd=preordered:fe=off:fsr=off:hud=11:inj=on:kws=precedence:s2pl=no:sp=weighted_frequency:tgt=full:i=3:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/3Mi)
% 2.93/1.63 % (3387)Instruction limit reached!
% 2.93/1.63 % (3387)------------------------------
% 2.93/1.63 % (3387)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.63 % (3387)Termination reason: Unknown
% 2.93/1.63 % (3387)Termination phase: shuffling
% 2.93/1.63
% 2.93/1.63 % (3387)Memory used [KB]: 1535
% 2.93/1.63 % (3387)Time elapsed: 0.002 s
% 2.93/1.63 % (3387)Instructions burned: 3 (million)
% 2.93/1.63 % (3387)------------------------------
% 2.93/1.63 % (3387)------------------------------
% 2.93/1.63 % (3385)Instruction limit reached!
% 2.93/1.63 % (3385)------------------------------
% 2.93/1.63 % (3385)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.63 % (3385)Termination reason: Unknown
% 2.93/1.63 % (3385)Termination phase: shuffling
% 2.93/1.63
% 2.93/1.63 % (3385)Memory used [KB]: 1791
% 2.93/1.63 % (3385)Time elapsed: 0.004 s
% 2.93/1.63 % (3385)Instructions burned: 9 (million)
% 2.93/1.63 % (3385)------------------------------
% 2.93/1.63 % (3385)------------------------------
% 2.93/1.63 % (3386)Instruction limit reached!
% 2.93/1.63 % (3386)------------------------------
% 2.93/1.63 % (3386)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.63 % (3386)Termination reason: Unknown
% 2.93/1.63 % (3386)Termination phase: shuffling
% 2.93/1.63
% 2.93/1.63 % (3386)Memory used [KB]: 1791
% 2.93/1.63 % (3386)Time elapsed: 0.006 s
% 2.93/1.63 % (3386)Instructions burned: 16 (million)
% 2.93/1.63 % (3386)------------------------------
% 2.93/1.63 % (3386)------------------------------
% 2.93/1.64 % (3389)lrs+10_1:1_cnfonf=off:cs=on:hud=3:prag=on:sup=off:i=7:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/7Mi)
% 2.93/1.64 % (3388)lrs+2_1:1_apa=on:au=on:bd=preordered:cnfonf=off:cs=on:ixr=off:sos=on:i=3:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/3Mi)
% 2.93/1.64 % (3388)Instruction limit reached!
% 2.93/1.64 % (3388)------------------------------
% 2.93/1.64 % (3388)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.64 % (3388)Termination reason: Unknown
% 2.93/1.64 % (3388)Termination phase: shuffling
% 2.93/1.64
% 2.93/1.64 % (3388)Memory used [KB]: 1535
% 2.93/1.64 % (3388)Time elapsed: 0.004 s
% 2.93/1.64 % (3388)Instructions burned: 3 (million)
% 2.93/1.64 % (3388)------------------------------
% 2.93/1.64 % (3388)------------------------------
% 2.93/1.64 % (3390)dis+1002_1:1_add=large:cnfonf=lazy_pi_sigma_gen:fe=off:prag=on:i=3:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/3Mi)
% 2.93/1.64 % (3389)Instruction limit reached!
% 2.93/1.64 % (3389)------------------------------
% 2.93/1.64 % (3389)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.64 % (3389)Termination reason: Unknown
% 2.93/1.64 % (3389)Termination phase: shuffling
% 2.93/1.64
% 2.93/1.64 % (3389)Memory used [KB]: 1791
% 2.93/1.64 % (3389)Time elapsed: 0.004 s
% 2.93/1.64 % (3389)Instructions burned: 10 (million)
% 2.93/1.64 % (3389)------------------------------
% 2.93/1.64 % (3389)------------------------------
% 2.93/1.64 % (3391)dis+1004_1:1_cha=on:cs=on:fe=off:hud=1:i=4:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/4Mi)
% 2.93/1.64 % (3390)Instruction limit reached!
% 2.93/1.64 % (3390)------------------------------
% 2.93/1.64 % (3390)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.64 % (3390)Termination reason: Unknown
% 2.93/1.64 % (3390)Termination phase: shuffling
% 2.93/1.64
% 2.93/1.64 % (3390)Memory used [KB]: 1663
% 2.93/1.64 % (3390)Time elapsed: 0.003 s
% 2.93/1.64 % (3390)Instructions burned: 4 (million)
% 2.93/1.64 % (3390)------------------------------
% 2.93/1.64 % (3390)------------------------------
% 2.93/1.64 % (3391)Instruction limit reached!
% 2.93/1.64 % (3391)------------------------------
% 2.93/1.64 % (3391)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.64 % (3391)Termination reason: Unknown
% 2.93/1.64 % (3391)Termination phase: shuffling
% 2.93/1.64
% 2.93/1.64 % (3391)Memory used [KB]: 1663
% 2.93/1.64 % (3391)Time elapsed: 0.003 s
% 2.93/1.64 % (3391)Instructions burned: 6 (million)
% 2.93/1.64 % (3391)------------------------------
% 2.93/1.64 % (3391)------------------------------
% 2.93/1.65 % (3393)lrs+10_1:1_e2e=on:sd=1:sgt=8:ss=axioms:i=710:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/710Mi)
% 2.93/1.65 % (3394)lrs+1004_1:1_chr=on:prag=on:i=6:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/6Mi)
% 2.93/1.65 % (3395)dis+1002_5:1_au=on:bd=off:e2e=on:fde=none:fs=off:fsr=off:sos=on:i=902:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/902Mi)
% 2.93/1.65 % (3394)Instruction limit reached!
% 2.93/1.65 % (3394)------------------------------
% 2.93/1.65 % (3394)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.65 % (3394)Termination reason: Unknown
% 2.93/1.65 % (3394)Termination phase: shuffling
% 2.93/1.65
% 2.93/1.65 % (3394)Memory used [KB]: 1663
% 2.93/1.65 % (3394)Time elapsed: 0.004 s
% 2.93/1.65 % (3394)Instructions burned: 6 (million)
% 2.93/1.65 % (3394)------------------------------
% 2.93/1.65 % (3394)------------------------------
% 2.93/1.66 % (3392)lrs+1002_1:1_anc=all_dependent:au=on:cbe=off:fde=unused:ntd=on:i=18:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/18Mi)
% 2.93/1.66 % (3396)dis+21_1:8_apa=on:cnfonf=off:fd=off:fsr=off:hud=0:ins=1:kws=inv_frequency:nwc=10.0:ss=axioms:st=5.0:i=21:si=on:rtra=on_0 on DTF2THF_3095 for (2999ds/21Mi)
% 2.93/1.67 % (3378)First to succeed.
% 2.93/1.67 % (3392)Instruction limit reached!
% 2.93/1.67 % (3392)------------------------------
% 2.93/1.67 % (3392)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.67 % (3392)Termination reason: Unknown
% 2.93/1.67 % (3392)Termination phase: shuffling
% 2.93/1.67
% 2.93/1.67 % (3392)Memory used [KB]: 1918
% 2.93/1.67 % (3392)Time elapsed: 0.013 s
% 2.93/1.67 % (3392)Instructions burned: 19 (million)
% 2.93/1.67 % (3392)------------------------------
% 2.93/1.67 % (3392)------------------------------
% 2.93/1.67 % (3378)Refutation found. Thanks to Tanya!
% 2.93/1.67 % SZS status Theorem for DTF2THF_3095
% 2.93/1.67 % SZS output start Proof for DTF2THF_3095
% 2.93/1.67 thf(type_def_5, type, aexp: $tType).
% 2.93/1.67 thf(type_def_6, type, list_char: $tType).
% 2.93/1.67 thf(type_def_7, type, int: $tType).
% 2.93/1.67 thf(type_def_9, type, bexp: $tType).
% 2.93/1.67 thf(type_def_10, type, produc1260470173ar_int: $tType).
% 2.93/1.67 thf(type_def_11, type, com: $tType).
% 2.93/1.67 thf(type_def_12, type, nat: $tType).
% 2.93/1.67 thf(type_def_13, type, produc1166363805nt_com: $tType).
% 2.93/1.67 thf(type_def_14, type, set_nat: $tType).
% 2.93/1.67 thf(type_def_15, type, set_Pr866150653nt_com: $tType).
% 2.93/1.67 thf(type_def_16, type, set_Pr1148378109ar_int: $tType).
% 2.93/1.67 thf(type_def_17, type, set_o: $tType).
% 2.93/1.67 thf(type_def_18, type, set_set_nat: $tType).
% 2.93/1.67 thf(func_def_0, type, set_Pr1148378109ar_int: $tType).
% 2.93/1.67 thf(func_def_1, type, set_Pr866150653nt_com: $tType).
% 2.93/1.67 thf(func_def_2, type, produc1260470173ar_int: $tType).
% 2.93/1.67 thf(func_def_3, type, produc1166363805nt_com: $tType).
% 2.93/1.67 thf(func_def_4, type, set_set_nat: $tType).
% 2.93/1.67 thf(func_def_5, type, list_char: $tType).
% 2.93/1.67 thf(func_def_6, type, set_nat: $tType).
% 2.93/1.67 thf(func_def_7, type, set_o: $tType).
% 2.93/1.67 thf(func_def_8, type, bexp: $tType).
% 2.93/1.67 thf(func_def_9, type, aexp: $tType).
% 2.93/1.67 thf(func_def_10, type, nat: $tType).
% 2.93/1.67 thf(func_def_11, type, int: $tType).
% 2.93/1.67 thf(func_def_12, type, com: $tType).
% 2.93/1.67 thf(func_def_13, type, aval: aexp > (list_char > int) > int).
% 2.93/1.67 thf(func_def_14, type, bval: bexp > (list_char > int) > $o).
% 2.93/1.67 thf(func_def_15, type, big_big_step: produc1260470173ar_int > (list_char > int) > $o).
% 2.93/1.67 thf(func_def_16, type, assign: list_char > aexp > com).
% 2.93/1.67 thf(func_def_17, type, if: bexp > com > com > com).
% 2.93/1.67 thf(func_def_18, type, skip: com).
% 2.93/1.67 thf(func_def_19, type, seq: com > com > com).
% 2.93/1.67 thf(func_def_20, type, while: bexp > com > com).
% 2.93/1.67 thf(func_def_21, type, size_com: com > nat).
% 2.93/1.67 thf(func_def_22, type, fun_up103088396ar_int: (list_char > int) > list_char > int > list_char > int).
% 2.93/1.67 thf(func_def_23, type, plus_plus_nat: nat > nat > nat).
% 2.93/1.67 thf(func_def_24, type, zero_zero_nat: nat).
% 2.93/1.67 thf(func_def_25, type, if_int: $o > int > int > int).
% 2.93/1.67 thf(func_def_26, type, suc: nat > nat).
% 2.93/1.67 thf(func_def_27, type, size_size_com: com > nat).
% 2.93/1.67 thf(func_def_28, type, produc1139835093nt_com: (list_char > int) > com > produc1166363805nt_com).
% 2.93/1.67 thf(func_def_29, type, produc1193801173ar_int: com > (list_char > int) > produc1260470173ar_int).
% 2.93/1.67 thf(func_def_30, type, produc1803493327_com_o: (produc1166363805nt_com > $o) > (list_char > int) > com > $o).
% 2.93/1.67 thf(func_def_31, type, produc1858366159_int_o: (produc1260470173ar_int > $o) > com > (list_char > int) > $o).
% 2.93/1.67 thf(func_def_32, type, produc763543641nt_nat: (produc1260470173ar_int > nat) > com > (list_char > int) > nat).
% 2.93/1.67 thf(func_def_33, type, produc804153044ar_int: (produc1260470173ar_int > produc1260470173ar_int) > com > (list_char > int) > produc1260470173ar_int).
% 2.93/1.67 thf(func_def_34, type, produc1791150095et_nat: (produc1260470173ar_int > set_nat) > com > (list_char > int) > set_nat).
% 2.93/1.67 thf(func_def_35, type, produc9062872_int_o: (com > (list_char > int) > $o) > produc1260470173ar_int > $o).
% 2.93/1.67 thf(func_def_36, type, produc641693072nt_nat: (com > (list_char > int) > nat) > produc1260470173ar_int > nat).
% 2.93/1.67 thf(func_def_37, type, produc837840349ar_int: (com > (list_char > int) > produc1260470173ar_int) > produc1260470173ar_int > produc1260470173ar_int).
% 2.93/1.67 thf(func_def_38, type, produc857153862et_nat: (com > (list_char > int) > set_nat) > produc1260470173ar_int > set_nat).
% 2.93/1.67 thf(func_def_39, type, produc613711406_com_o: ((list_char > int) > com > $o) > produc1166363805nt_com > $o).
% 2.93/1.67 thf(func_def_40, type, produc1263502010om_nat: ((list_char > int) > com > nat) > produc1166363805nt_com > nat).
% 2.93/1.67 thf(func_def_41, type, produc1676975923nt_com: ((list_char > int) > com > produc1166363805nt_com) > produc1166363805nt_com > produc1166363805nt_com).
% 2.93/1.67 thf(func_def_42, type, produc1771082291ar_int: ((list_char > int) > com > produc1260470173ar_int) > produc1166363805nt_com > produc1260470173ar_int).
% 2.93/1.67 thf(func_def_43, type, produc1754105456et_nat: ((list_char > int) > com > set_nat) > produc1166363805nt_com > set_nat).
% 2.93/1.67 thf(func_def_44, type, produc1179280275nt_com: ((list_char > int) > com > set_Pr866150653nt_com) > produc1166363805nt_com > set_Pr866150653nt_com).
% 2.93/1.67 thf(func_def_45, type, produc1461507731ar_int: ((list_char > int) > com > set_Pr1148378109ar_int) > produc1166363805nt_com > set_Pr1148378109ar_int).
% 2.93/1.67 thf(func_def_46, type, produc668584238_int_o: (com > (list_char > int) > $o) > produc1260470173ar_int > $o).
% 2.93/1.67 thf(func_def_47, type, produc1311963066nt_nat: (com > (list_char > int) > nat) > produc1260470173ar_int > nat).
% 2.93/1.67 thf(func_def_48, type, produc1194453555nt_com: (com > (list_char > int) > produc1166363805nt_com) > produc1260470173ar_int > produc1166363805nt_com).
% 2.93/1.67 thf(func_def_49, type, produc1288559923ar_int: (com > (list_char > int) > produc1260470173ar_int) > produc1260470173ar_int > produc1260470173ar_int).
% 2.93/1.67 thf(func_def_50, type, produc991755120et_nat: (com > (list_char > int) > set_nat) > produc1260470173ar_int > set_nat).
% 2.93/1.67 thf(func_def_51, type, produc1994108563nt_com: (com > (list_char > int) > set_Pr866150653nt_com) > produc1260470173ar_int > set_Pr866150653nt_com).
% 2.93/1.67 thf(func_def_52, type, produc128852371ar_int: (com > (list_char > int) > set_Pr1148378109ar_int) > produc1260470173ar_int > set_Pr1148378109ar_int).
% 2.93/1.67 thf(func_def_53, type, produc1716235893nt_com: produc1166363805nt_com > produc1260470173ar_int).
% 2.93/1.67 thf(func_def_54, type, produc1770201973ar_int: produc1260470173ar_int > produc1166363805nt_com).
% 2.93/1.67 thf(func_def_55, type, relati1310524937decomp: ((list_char > int) > (list_char > int) > $o) > com > com > ((list_char > int) > (list_char > int) > $o) > (list_char > int) > (list_char > int) > $o).
% 2.93/1.67 thf(func_def_56, type, relati186416454e_flip: ((list_char > int) > (list_char > int) > $o) > (list_char > int) > (list_char > int) > $o).
% 2.93/1.67 thf(func_def_57, type, relati23543761ar_int: ((list_char > int) > (list_char > int) > $o) > bexp > com > nat > (list_char > int) > (list_char > int) > $o).
% 2.93/1.67 thf(func_def_58, type, relati2102071307_hoare: ((list_char > int) > (list_char > int) > $o) > com > com > ((list_char > int) > (list_char > int) > $o) > $o).
% 2.93/1.67 thf(func_def_59, type, relati775585786_valid: ((list_char > int) > (list_char > int) > $o) > com > com > ((list_char > int) > (list_char > int) > $o) > $o).
% 2.93/1.67 thf(func_def_60, type, collect_nat: (nat > $o) > set_nat).
% 2.93/1.67 thf(func_def_61, type, collec676690312nt_com: (produc1166363805nt_com > $o) > set_Pr866150653nt_com).
% 2.93/1.67 thf(func_def_62, type, collec770796680ar_int: (produc1260470173ar_int > $o) > set_Pr1148378109ar_int).
% 2.93/1.67 thf(func_def_63, type, image_nat_nat: (nat > nat) > set_nat > set_nat).
% 2.93/1.67 thf(func_def_64, type, image_244615942nt_com: (nat > produc1166363805nt_com) > set_nat > set_Pr866150653nt_com).
% 2.93/1.67 thf(func_def_65, type, image_338722310ar_int: (nat > produc1260470173ar_int) > set_nat > set_Pr1148378109ar_int).
% 2.93/1.67 thf(func_def_66, type, image_596692520om_nat: (produc1166363805nt_com > nat) > set_Pr866150653nt_com > set_nat).
% 2.93/1.67 thf(func_def_67, type, image_1874758725nt_com: (produc1166363805nt_com > produc1166363805nt_com) > set_Pr866150653nt_com > set_Pr866150653nt_com).
% 2.93/1.67 thf(func_def_68, type, image_1968865093ar_int: (produc1166363805nt_com > produc1260470173ar_int) > set_Pr866150653nt_com > set_Pr1148378109ar_int).
% 2.93/1.67 thf(func_def_69, type, image_522938432_int_o: (produc1260470173ar_int > $o) > set_Pr1148378109ar_int > set_o).
% 2.93/1.67 thf(func_def_70, type, image_1742782760nt_nat: (produc1260470173ar_int > nat) > set_Pr1148378109ar_int > set_nat).
% 2.93/1.67 thf(func_def_71, type, image_786684229nt_com: (produc1260470173ar_int > produc1166363805nt_com) > set_Pr1148378109ar_int > set_Pr866150653nt_com).
% 2.93/1.67 thf(func_def_72, type, image_880790597ar_int: (produc1260470173ar_int > produc1260470173ar_int) > set_Pr1148378109ar_int > set_Pr1148378109ar_int).
% 2.93/1.67 thf(func_def_73, type, image_989727966et_nat: (produc1260470173ar_int > set_nat) > set_Pr1148378109ar_int > set_set_nat).
% 2.93/1.67 thf(func_def_74, type, member_o: $o > set_o > $o).
% 2.93/1.67 thf(func_def_75, type, member_nat: nat > set_nat > $o).
% 2.93/1.67 thf(func_def_76, type, member2145628230nt_com: produc1166363805nt_com > set_Pr866150653nt_com > $o).
% 2.93/1.67 thf(func_def_77, type, member92250950ar_int: produc1260470173ar_int > set_Pr1148378109ar_int > $o).
% 2.93/1.67 thf(func_def_78, type, member_set_nat: set_nat > set_set_nat > $o).
% 2.93/1.67 thf(func_def_79, type, p: (list_char > int) > (list_char > int) > $o).
% 2.93/1.67 thf(func_def_80, type, q: (list_char > int) > (list_char > int) > $o).
% 2.93/1.67 thf(func_def_81, type, c: com).
% 2.93/1.67 thf(func_def_82, type, c2: com).
% 2.93/1.67 thf(func_def_102, type, sP0: (nat > (list_char > int) > (list_char > int) > $o) > nat > bexp > com > (list_char > int) > com > (list_char > int) > $o).
% 2.93/1.67 thf(func_def_103, type, sK1: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_104, type, sK2: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_105, type, sK3: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_106, type, sK4: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_107, type, sK5: com > com > list_char > int).
% 2.93/1.67 thf(func_def_108, type, sK6: com > com > list_char > int).
% 2.93/1.67 thf(func_def_109, type, sK7: com > com > list_char > int).
% 2.93/1.67 thf(func_def_110, type, sK8: com > com > list_char > int).
% 2.93/1.67 thf(func_def_111, type, sK9: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_112, type, sK10: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_113, type, sK11: (nat > (list_char > int) > (list_char > int) > $o) > nat > bexp > com > (list_char > int) > com > (list_char > int) > list_char > int).
% 2.93/1.67 thf(func_def_114, type, sK12: (nat > (list_char > int) > (list_char > int) > $o) > nat > bexp > com > (list_char > int) > com > (list_char > int) > list_char > int).
% 2.93/1.67 thf(func_def_115, type, sK13: com > com > (nat > (list_char > int) > (list_char > int) > $o) > bexp > ((list_char > int) > (list_char > int) > $o) > nat > list_char > int).
% 2.93/1.67 thf(func_def_116, type, sK14: com > com > (nat > (list_char > int) > (list_char > int) > $o) > bexp > ((list_char > int) > (list_char > int) > $o) > nat > list_char > int).
% 2.93/1.67 thf(func_def_117, type, sK15: com > (nat > (list_char > int) > (list_char > int) > $o) > bexp > nat > nat).
% 2.93/1.67 thf(func_def_118, type, sK16: com > (nat > (list_char > int) > (list_char > int) > $o) > bexp > nat > list_char > int).
% 2.93/1.67 thf(func_def_119, type, sK17: com > (nat > (list_char > int) > (list_char > int) > $o) > bexp > nat > list_char > int).
% 2.93/1.67 thf(func_def_120, type, sK18: (produc1260470173ar_int > $o) > com).
% 2.93/1.67 thf(func_def_121, type, sK19: (produc1260470173ar_int > $o) > list_char > int).
% 2.93/1.67 thf(func_def_122, type, sK20: (list_char > int) > com > (list_char > int) > com > list_char > int).
% 2.93/1.67 thf(func_def_123, type, sK21: com > com > list_char > int).
% 2.93/1.67 thf(func_def_124, type, sK22: com > com > list_char > int).
% 2.93/1.67 thf(func_def_125, type, sK23: com > ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_126, type, sK24: com > ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_127, type, sK25: com > com > list_char > int).
% 2.93/1.67 thf(func_def_128, type, sK26: com > com > list_char > int).
% 2.93/1.67 thf(func_def_129, type, sK27: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_130, type, sK28: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_131, type, sK29: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_132, type, sK30: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_133, type, sK31: produc1260470173ar_int > list_char > int).
% 2.93/1.67 thf(func_def_134, type, sK32: produc1260470173ar_int > com).
% 2.93/1.67 thf(func_def_135, type, sK33: com > com > list_char > int).
% 2.93/1.67 thf(func_def_136, type, sK34: com > com > list_char > int).
% 2.93/1.67 thf(func_def_137, type, sK35: com > com > list_char > int).
% 2.93/1.67 thf(func_def_138, type, sK36: com > com > list_char > int).
% 2.93/1.67 thf(func_def_139, type, sK37: produc1260470173ar_int > list_char > int).
% 2.93/1.67 thf(func_def_140, type, sK38: produc1260470173ar_int > com).
% 2.93/1.67 thf(func_def_141, type, sK39: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > com > list_char > int).
% 2.93/1.67 thf(func_def_142, type, sK40: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > com > list_char > int).
% 2.93/1.67 thf(func_def_143, type, sK41: (list_char > int) > bexp > (list_char > int) > com > list_char > int).
% 2.93/1.67 thf(func_def_144, type, sK42: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_145, type, sK43: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_146, type, sK44: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_147, type, sK45: ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_148, type, sK46: (produc1260470173ar_int > $o) > com).
% 2.93/1.67 thf(func_def_149, type, sK47: (produc1260470173ar_int > $o) > list_char > int).
% 2.93/1.67 thf(func_def_150, type, sK48: com > ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_151, type, sK49: com > ((list_char > int) > (list_char > int) > $o) > ((list_char > int) > (list_char > int) > $o) > list_char > int).
% 2.93/1.67 thf(func_def_153, type, ph51: !>[X0: $tType]:(X0)).
% 2.93/1.67 thf(f1194,plain,(
% 2.93/1.67 $false),
% 2.93/1.67 inference(avatar_sat_refutation,[status(thm)],[f1133,f1138,f1139,f1165,f1179,f1193])).
% 2.93/1.67 thf(f1193,plain,(
% 2.93/1.67 ~spl50_1 | spl50_3),
% 2.93/1.67 inference(avatar_contradiction_clause,[status(thm)],[f1192])).
% 2.93/1.67 thf(f1192,plain,(
% 2.93/1.67 $false | (~spl50_1 | spl50_3)),
% 2.93/1.67 inference(subsumption_resolution,[status(thm)],[f1190,f1128])).
% 2.93/1.67 thf(f1128,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ p @ c @ c2 @ q) = $true) | ~spl50_1),
% 2.93/1.67 inference(avatar_component_clause,[status(thm)],[f1126])).
% 2.93/1.67 thf(f1126,definition,(
% 2.93/1.67 spl50_1 <=> ((relati2102071307_hoare @ p @ c @ c2 @ q) = $true)),
% 2.93/1.67 introduced(definition,[new_symbols(naming,[spl50_1])],[avatar_definition])).
% 2.93/1.67 thf(f1190,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ p @ c @ c2 @ q) != $true) | spl50_3),
% 2.93/1.67 inference(trivial_inequality_removal,[status(thm)],[f1188])).
% 2.93/1.67 thf(f1188,plain,(
% 2.93/1.67 ($true != $true) | ((relati2102071307_hoare @ p @ c @ c2 @ q) != $true) | spl50_3),
% 2.93/1.67 inference(superposition,[status(thm)],[f1185,f1049])).
% 2.93/1.67 thf(f1049,plain,(
% 2.93/1.67 ( ! [X2 : (list_char > int) > (list_char > int) > $o,X3 : com,X0 : (list_char > int) > (list_char > int) > $o,X1 : com] : (($true = (relati775585786_valid @ X2 @ X1 @ X3 @ X0)) | ((relati2102071307_hoare @ X2 @ X1 @ X3 @ X0) != $true)) )),
% 2.93/1.67 inference(cnf_transformation,[status(thm)],[f916])).
% 2.93/1.67 thf(f916,plain,(
% 2.93/1.67 ! [X0 : (list_char > int) > (list_char > int) > $o,X1 : com,X2 : (list_char > int) > (list_char > int) > $o,X3 : com] : (((relati2102071307_hoare @ X2 @ X1 @ X3 @ X0) != $true) | ($true = (relati775585786_valid @ X2 @ X1 @ X3 @ X0)))),
% 2.93/1.67 inference(ennf_transformation,[status(thm)],[f709])).
% 2.93/1.67 thf(f709,plain,(
% 2.93/1.67 ! [X0 : (list_char > int) > (list_char > int) > $o,X1 : com,X2 : (list_char > int) > (list_char > int) > $o,X3 : com] : (((relati2102071307_hoare @ X2 @ X1 @ X3 @ X0) = $true) => ($true = (relati775585786_valid @ X2 @ X1 @ X3 @ X0)))),
% 2.93/1.67 inference(fool_elimination,[status(thm)],[f708])).
% 2.93/1.67 thf(f708,plain,(
% 2.93/1.67 ! [X0 : (list_char > int) > (list_char > int) > $o,X1 : com,X2 : (list_char > int) > (list_char > int) > $o,X3 : com] : ((relati2102071307_hoare @ X2 @ X1 @ X3 @ X0) => (relati775585786_valid @ X2 @ X1 @ X3 @ X0))),
% 2.93/1.67 inference(rectify,[status(thm)],[f1])).
% 2.93/1.67 thf(f1,axiom,(
% 2.93/1.67 ! [X3 : (list_char > int) > (list_char > int) > $o,X1 : com,X0 : (list_char > int) > (list_char > int) > $o,X2 : com] : ((relati2102071307_hoare @ X0 @ X1 @ X2 @ X3) => (relati775585786_valid @ X0 @ X1 @ X2 @ X3))),
% 2.93/1.67 file('/export/starexec/sandbox2/tmp/tmp.wyCdcgzg4L/DTF2THF_3095.p',fact_0_soundness)).
% 2.93/1.67 thf(f1185,plain,(
% 2.93/1.67 ($true != (relati775585786_valid @ p @ c @ c2 @ q)) | spl50_3),
% 2.93/1.67 inference(trivial_inequality_removal,[status(thm)],[f1182])).
% 2.93/1.67 thf(f1182,plain,(
% 2.93/1.67 ($true != $true) | ($true != (relati775585786_valid @ p @ c @ c2 @ q)) | spl50_3),
% 2.93/1.67 inference(superposition,[status(thm)],[f1181,f1013])).
% 2.93/1.67 thf(f1013,plain,(
% 2.93/1.67 ( ! [X2 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o,X0 : com,X1 : com] : (($true = (relati775585786_valid @ X2 @ X0 @ skip @ (relati1310524937decomp @ X2 @ X0 @ X1 @ X3))) | ((relati775585786_valid @ X2 @ X0 @ X1 @ X3) != $true)) )),
% 2.93/1.67 inference(cnf_transformation,[status(thm)],[f888])).
% 2.93/1.67 thf(f888,plain,(
% 2.93/1.67 ! [X0 : com,X1 : com,X2 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o] : (((relati775585786_valid @ X2 @ X0 @ X1 @ X3) != $true) | (($true = (relati775585786_valid @ X2 @ X0 @ skip @ (relati1310524937decomp @ X2 @ X0 @ X1 @ X3))) & ($true = (relati775585786_valid @ (relati1310524937decomp @ X2 @ X0 @ X1 @ X3) @ skip @ X1 @ X3))))),
% 2.93/1.67 inference(ennf_transformation,[status(thm)],[f797])).
% 2.93/1.67 thf(f797,plain,(
% 2.93/1.67 ! [X0 : com,X1 : com,X2 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o] : (((relati775585786_valid @ X2 @ X0 @ X1 @ X3) = $true) => (($true = (relati775585786_valid @ X2 @ X0 @ skip @ (relati1310524937decomp @ X2 @ X0 @ X1 @ X3))) & ($true = (relati775585786_valid @ (relati1310524937decomp @ X2 @ X0 @ X1 @ X3) @ skip @ X1 @ X3))))),
% 2.93/1.67 inference(fool_elimination,[status(thm)],[f796])).
% 2.93/1.67 thf(f796,plain,(
% 2.93/1.67 ! [X0 : com,X1 : com,X2 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o] : ((relati775585786_valid @ X2 @ X0 @ X1 @ X3) => ((relati775585786_valid @ (relati1310524937decomp @ X2 @ X0 @ X1 @ X3) @ skip @ X1 @ X3) & (relati775585786_valid @ X2 @ X0 @ skip @ (relati1310524937decomp @ X2 @ X0 @ X1 @ X3))))),
% 2.93/1.67 inference(rectify,[status(thm)],[f9])).
% 2.93/1.67 thf(f9,axiom,(
% 2.93/1.67 ! [X1 : com,X2 : com,X0 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o] : ((relati775585786_valid @ X0 @ X1 @ X2 @ X3) => ((relati775585786_valid @ (relati1310524937decomp @ X0 @ X1 @ X2 @ X3) @ skip @ X2 @ X3) & (relati775585786_valid @ X0 @ X1 @ skip @ (relati1310524937decomp @ X0 @ X1 @ X2 @ X3))))),
% 2.93/1.67 file('/export/starexec/sandbox2/tmp/tmp.wyCdcgzg4L/DTF2THF_3095.p',fact_8_ir__valid__decomp1)).
% 2.93/1.67 thf(f1181,plain,(
% 2.93/1.67 ($true != (relati775585786_valid @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q))) | spl50_3),
% 2.93/1.67 inference(trivial_inequality_removal,[status(thm)],[f1180])).
% 2.93/1.67 thf(f1180,plain,(
% 2.93/1.67 ($true != $true) | ($true != (relati775585786_valid @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q))) | spl50_3),
% 2.93/1.67 inference(superposition,[status(thm)],[f1136,f1109])).
% 2.93/1.67 thf(f1109,plain,(
% 2.93/1.67 ( ! [X2 : (list_char > int) > (list_char > int) > $o,X3 : com,X0 : com,X1 : (list_char > int) > (list_char > int) > $o] : (($true = (relati2102071307_hoare @ X1 @ X3 @ X0 @ X2)) | ($true != (relati775585786_valid @ X1 @ X3 @ X0 @ X2))) )),
% 2.93/1.67 inference(cnf_transformation,[status(thm)],[f902])).
% 2.93/1.67 thf(f902,plain,(
% 2.93/1.67 ! [X0 : com,X1 : (list_char > int) > (list_char > int) > $o,X2 : (list_char > int) > (list_char > int) > $o,X3 : com] : (($true = (relati2102071307_hoare @ X1 @ X3 @ X0 @ X2)) | ($true != (relati775585786_valid @ X1 @ X3 @ X0 @ X2)))),
% 2.93/1.67 inference(ennf_transformation,[status(thm)],[f594])).
% 2.93/1.67 thf(f594,plain,(
% 2.93/1.67 ! [X0 : com,X1 : (list_char > int) > (list_char > int) > $o,X2 : (list_char > int) > (list_char > int) > $o,X3 : com] : (($true = (relati775585786_valid @ X1 @ X3 @ X0 @ X2)) => ($true = (relati2102071307_hoare @ X1 @ X3 @ X0 @ X2)))),
% 2.93/1.67 inference(fool_elimination,[status(thm)],[f593])).
% 2.93/1.67 thf(f593,plain,(
% 2.93/1.67 ! [X0 : com,X1 : (list_char > int) > (list_char > int) > $o,X2 : (list_char > int) > (list_char > int) > $o,X3 : com] : ((relati775585786_valid @ X1 @ X3 @ X0 @ X2) => (relati2102071307_hoare @ X1 @ X3 @ X0 @ X2))),
% 2.93/1.67 inference(rectify,[status(thm)],[f2])).
% 2.93/1.67 thf(f2,axiom,(
% 2.93/1.67 ! [X2 : com,X0 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o,X1 : com] : ((relati775585786_valid @ X0 @ X1 @ X2 @ X3) => (relati2102071307_hoare @ X0 @ X1 @ X2 @ X3))),
% 2.93/1.67 file('/export/starexec/sandbox2/tmp/tmp.wyCdcgzg4L/DTF2THF_3095.p',fact_1_completeness)).
% 2.93/1.67 thf(f1136,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) != $true) | spl50_3),
% 2.93/1.67 inference(avatar_component_clause,[status(thm)],[f1135])).
% 2.93/1.67 thf(f1135,definition,(
% 2.93/1.67 spl50_3 <=> ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) = $true)),
% 2.93/1.67 introduced(definition,[new_symbols(naming,[spl50_3])],[avatar_definition])).
% 2.93/1.67 thf(f1179,plain,(
% 2.93/1.67 ~spl50_1 | spl50_2),
% 2.93/1.67 inference(avatar_contradiction_clause,[status(thm)],[f1178])).
% 2.93/1.67 thf(f1178,plain,(
% 2.93/1.67 $false | (~spl50_1 | spl50_2)),
% 2.93/1.67 inference(subsumption_resolution,[status(thm)],[f1177,f1128])).
% 2.93/1.67 thf(f1177,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ p @ c @ c2 @ q) != $true) | spl50_2),
% 2.93/1.67 inference(trivial_inequality_removal,[status(thm)],[f1174])).
% 2.93/1.67 thf(f1174,plain,(
% 2.93/1.67 ($true != $true) | ((relati2102071307_hoare @ p @ c @ c2 @ q) != $true) | spl50_2),
% 2.93/1.67 inference(superposition,[status(thm)],[f1171,f1049])).
% 2.93/1.67 thf(f1171,plain,(
% 2.93/1.67 ($true != (relati775585786_valid @ p @ c @ c2 @ q)) | spl50_2),
% 2.93/1.67 inference(trivial_inequality_removal,[status(thm)],[f1168])).
% 2.93/1.67 thf(f1168,plain,(
% 2.93/1.67 ($true != (relati775585786_valid @ p @ c @ c2 @ q)) | ($true != $true) | spl50_2),
% 2.93/1.67 inference(superposition,[status(thm)],[f1167,f1012])).
% 2.93/1.67 thf(f1012,plain,(
% 2.93/1.67 ( ! [X2 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o,X0 : com,X1 : com] : (($true = (relati775585786_valid @ (relati1310524937decomp @ X2 @ X0 @ X1 @ X3) @ skip @ X1 @ X3)) | ((relati775585786_valid @ X2 @ X0 @ X1 @ X3) != $true)) )),
% 2.93/1.67 inference(cnf_transformation,[status(thm)],[f888])).
% 2.93/1.67 thf(f1167,plain,(
% 2.93/1.67 ($true != (relati775585786_valid @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q)) | spl50_2),
% 2.93/1.67 inference(trivial_inequality_removal,[status(thm)],[f1166])).
% 2.93/1.67 thf(f1166,plain,(
% 2.93/1.67 ($true != (relati775585786_valid @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q)) | ($true != $true) | spl50_2),
% 2.93/1.67 inference(superposition,[status(thm)],[f1131,f1109])).
% 2.93/1.67 thf(f1131,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q) != $true) | spl50_2),
% 2.93/1.67 inference(avatar_component_clause,[status(thm)],[f1130])).
% 2.93/1.67 thf(f1130,definition,(
% 2.93/1.67 spl50_2 <=> ((relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q) = $true)),
% 2.93/1.67 introduced(definition,[new_symbols(naming,[spl50_2])],[avatar_definition])).
% 2.93/1.67 thf(f1165,plain,(
% 2.93/1.67 spl50_1 | ~spl50_2 | ~spl50_3),
% 2.93/1.67 inference(avatar_contradiction_clause,[status(thm)],[f1164])).
% 2.93/1.67 thf(f1164,plain,(
% 2.93/1.67 $false | (spl50_1 | ~spl50_2 | ~spl50_3)),
% 2.93/1.67 inference(subsumption_resolution,[status(thm)],[f1162,f1137])).
% 2.93/1.67 thf(f1137,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) = $true) | ~spl50_3),
% 2.93/1.67 inference(avatar_component_clause,[status(thm)],[f1135])).
% 2.93/1.67 thf(f1162,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) != $true) | (spl50_1 | ~spl50_2)),
% 2.93/1.67 inference(trivial_inequality_removal,[status(thm)],[f1160])).
% 2.93/1.67 thf(f1160,plain,(
% 2.93/1.67 ($true != $true) | ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) != $true) | (spl50_1 | ~spl50_2)),
% 2.93/1.67 inference(superposition,[status(thm)],[f1159,f1132])).
% 2.93/1.67 thf(f1132,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q) = $true) | ~spl50_2),
% 2.93/1.67 inference(avatar_component_clause,[status(thm)],[f1130])).
% 2.93/1.67 thf(f1159,plain,(
% 2.93/1.67 ( ! [X0 : (list_char > int) > (list_char > int) > $o] : (($true != (relati2102071307_hoare @ X0 @ skip @ c2 @ q)) | ((relati2102071307_hoare @ p @ c @ skip @ X0) != $true)) ) | spl50_1),
% 2.93/1.67 inference(trivial_inequality_removal,[status(thm)],[f1155])).
% 2.93/1.67 thf(f1155,plain,(
% 2.93/1.67 ( ! [X0 : (list_char > int) > (list_char > int) > $o] : (($true != (relati2102071307_hoare @ X0 @ skip @ c2 @ q)) | ($true != $true) | ((relati2102071307_hoare @ p @ c @ skip @ X0) != $true)) ) | spl50_1),
% 2.93/1.67 inference(superposition,[status(thm)],[f1151,f1049])).
% 2.93/1.67 thf(f1151,plain,(
% 2.93/1.67 ( ! [X0 : (list_char > int) > (list_char > int) > $o] : (((relati775585786_valid @ X0 @ skip @ c2 @ q) != $true) | ((relati2102071307_hoare @ p @ c @ skip @ X0) != $true)) ) | spl50_1),
% 2.93/1.67 inference(trivial_inequality_removal,[status(thm)],[f1148])).
% 2.93/1.67 thf(f1148,plain,(
% 2.93/1.67 ( ! [X0 : (list_char > int) > (list_char > int) > $o] : (($true != $true) | ((relati775585786_valid @ X0 @ skip @ c2 @ q) != $true) | ((relati2102071307_hoare @ p @ c @ skip @ X0) != $true)) ) | spl50_1),
% 2.93/1.67 inference(superposition,[status(thm)],[f1144,f1049])).
% 2.93/1.67 thf(f1144,plain,(
% 2.93/1.67 ( ! [X0 : (list_char > int) > (list_char > int) > $o] : (($true != (relati775585786_valid @ p @ c @ skip @ X0)) | ((relati775585786_valid @ X0 @ skip @ c2 @ q) != $true)) ) | spl50_1),
% 2.93/1.67 inference(trivial_inequality_removal,[status(thm)],[f1143])).
% 2.93/1.67 thf(f1143,plain,(
% 2.93/1.67 ( ! [X0 : (list_char > int) > (list_char > int) > $o] : (((relati775585786_valid @ X0 @ skip @ c2 @ q) != $true) | ($true != $true) | ($true != (relati775585786_valid @ p @ c @ skip @ X0))) ) | spl50_1),
% 2.93/1.67 inference(superposition,[status(thm)],[f1141,f1068])).
% 2.93/1.67 thf(f1068,plain,(
% 2.93/1.67 ( ! [X2 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o,X0 : com,X1 : (list_char > int) > (list_char > int) > $o,X4 : com] : (($true = (relati775585786_valid @ X3 @ X4 @ X0 @ X1)) | ((relati775585786_valid @ X3 @ X4 @ skip @ X2) != $true) | ($true != (relati775585786_valid @ X2 @ skip @ X0 @ X1))) )),
% 2.93/1.67 inference(cnf_transformation,[status(thm)],[f905])).
% 2.93/1.67 thf(f905,plain,(
% 2.93/1.67 ! [X0 : com,X1 : (list_char > int) > (list_char > int) > $o,X2 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o,X4 : com] : (($true != (relati775585786_valid @ X2 @ skip @ X0 @ X1)) | ((relati775585786_valid @ X3 @ X4 @ skip @ X2) != $true) | ($true = (relati775585786_valid @ X3 @ X4 @ X0 @ X1)))),
% 2.93/1.67 inference(flattening,[status(thm)],[f904])).
% 2.93/1.67 thf(f904,plain,(
% 2.93/1.67 ! [X0 : com,X1 : (list_char > int) > (list_char > int) > $o,X2 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o,X4 : com] : (($true = (relati775585786_valid @ X3 @ X4 @ X0 @ X1)) | (((relati775585786_valid @ X3 @ X4 @ skip @ X2) != $true) | ($true != (relati775585786_valid @ X2 @ skip @ X0 @ X1))))),
% 2.93/1.67 inference(ennf_transformation,[status(thm)],[f536])).
% 2.93/1.67 thf(f536,plain,(
% 2.93/1.67 ! [X0 : com,X1 : (list_char > int) > (list_char > int) > $o,X2 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o,X4 : com] : ((((relati775585786_valid @ X3 @ X4 @ skip @ X2) = $true) & ($true = (relati775585786_valid @ X2 @ skip @ X0 @ X1))) => ($true = (relati775585786_valid @ X3 @ X4 @ X0 @ X1)))),
% 2.93/1.67 inference(fool_elimination,[status(thm)],[f535])).
% 2.93/1.67 thf(f535,plain,(
% 2.93/1.67 ! [X0 : com,X1 : (list_char > int) > (list_char > int) > $o,X2 : (list_char > int) > (list_char > int) > $o,X3 : (list_char > int) > (list_char > int) > $o,X4 : com] : (((relati775585786_valid @ X2 @ skip @ X0 @ X1) & (relati775585786_valid @ X3 @ X4 @ skip @ X2)) => (relati775585786_valid @ X3 @ X4 @ X0 @ X1))),
% 2.93/1.67 inference(rectify,[status(thm)],[f10])).
% 2.93/1.67 thf(f10,axiom,(
% 2.93/1.67 ! [X2 : com,X3 : (list_char > int) > (list_char > int) > $o,X14 : (list_char > int) > (list_char > int) > $o,X0 : (list_char > int) > (list_char > int) > $o,X1 : com] : (((relati775585786_valid @ X14 @ skip @ X2 @ X3) & (relati775585786_valid @ X0 @ X1 @ skip @ X14)) => (relati775585786_valid @ X0 @ X1 @ X2 @ X3))),
% 2.93/1.67 file('/export/starexec/sandbox2/tmp/tmp.wyCdcgzg4L/DTF2THF_3095.p',fact_9_ir__valid__decomp2)).
% 2.93/1.67 thf(f1141,plain,(
% 2.93/1.67 ($true != (relati775585786_valid @ p @ c @ c2 @ q)) | spl50_1),
% 2.93/1.67 inference(trivial_inequality_removal,[status(thm)],[f1140])).
% 2.93/1.67 thf(f1140,plain,(
% 2.93/1.67 ($true != (relati775585786_valid @ p @ c @ c2 @ q)) | ($true != $true) | spl50_1),
% 2.93/1.67 inference(superposition,[status(thm)],[f1127,f1109])).
% 2.93/1.67 thf(f1127,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ p @ c @ c2 @ q) != $true) | spl50_1),
% 2.93/1.67 inference(avatar_component_clause,[status(thm)],[f1126])).
% 2.93/1.67 thf(f1139,plain,(
% 2.93/1.67 ~spl50_3 | ~spl50_2 | ~spl50_1),
% 2.93/1.67 inference(avatar_split_clause,[status(thm)],[f1073,f1126,f1130,f1135])).
% 2.93/1.67 thf(f1073,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ p @ c @ c2 @ q) != $true) | ((relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q) != $true) | ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) != $true)),
% 2.93/1.67 inference(cnf_transformation,[status(thm)],[f986])).
% 2.93/1.67 thf(f986,plain,(
% 2.93/1.67 (((relati2102071307_hoare @ p @ c @ c2 @ q) != $true) | ((relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q) != $true) | ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) != $true)) & (((relati2102071307_hoare @ p @ c @ c2 @ q) = $true) | (((relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q) = $true) & ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) = $true)))),
% 2.93/1.67 inference(flattening,[status(thm)],[f985])).
% 2.93/1.67 thf(f985,plain,(
% 2.93/1.67 (((relati2102071307_hoare @ p @ c @ c2 @ q) != $true) | (((relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q) != $true) | ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) != $true))) & (((relati2102071307_hoare @ p @ c @ c2 @ q) = $true) | (((relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q) = $true) & ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) = $true)))),
% 2.93/1.67 inference(nnf_transformation,[status(thm)],[f927])).
% 2.93/1.67 thf(f927,plain,(
% 2.93/1.67 (((relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q) = $true) & ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) = $true)) <~> ((relati2102071307_hoare @ p @ c @ c2 @ q) = $true)),
% 2.93/1.67 inference(ennf_transformation,[status(thm)],[f649])).
% 2.93/1.67 thf(f649,plain,(
% 2.93/1.67 ~((((relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q) = $true) & ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) = $true)) <=> ((relati2102071307_hoare @ p @ c @ c2 @ q) = $true))),
% 2.93/1.67 inference(fool_elimination,[status(thm)],[f648])).
% 2.93/1.67 thf(f648,plain,(
% 2.93/1.67 ~((relati2102071307_hoare @ p @ c @ c2 @ q) = (relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) & (relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q))),
% 2.93/1.67 inference(rectify,[status(thm)],[f357])).
% 2.93/1.67 thf(f357,negated_conjecture,(
% 2.93/1.67 ~((relati2102071307_hoare @ p @ c @ c2 @ q) = (relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) & (relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q))),
% 2.93/1.67 inference(negated_conjecture,[status(cth)],[f356])).
% 2.93/1.67 thf(f356,conjecture,(
% 2.93/1.67 ((relati2102071307_hoare @ p @ c @ c2 @ q) = (relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) & (relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q))),
% 2.93/1.67 file('/export/starexec/sandbox2/tmp/tmp.wyCdcgzg4L/DTF2THF_3095.p',conj_0)).
% 2.93/1.67 thf(f1138,plain,(
% 2.93/1.67 spl50_3 | spl50_1),
% 2.93/1.67 inference(avatar_split_clause,[status(thm)],[f1071,f1126,f1135])).
% 2.93/1.67 thf(f1071,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ p @ c @ c2 @ q) = $true) | ((relati2102071307_hoare @ p @ c @ skip @ (relati1310524937decomp @ p @ c @ c2 @ q)) = $true)),
% 2.93/1.67 inference(cnf_transformation,[status(thm)],[f986])).
% 2.93/1.67 thf(f1133,plain,(
% 2.93/1.67 spl50_1 | spl50_2),
% 2.93/1.67 inference(avatar_split_clause,[status(thm)],[f1072,f1130,f1126])).
% 2.93/1.67 thf(f1072,plain,(
% 2.93/1.67 ((relati2102071307_hoare @ (relati1310524937decomp @ p @ c @ c2 @ q) @ skip @ c2 @ q) = $true) | ((relati2102071307_hoare @ p @ c @ c2 @ q) = $true)),
% 2.93/1.67 inference(cnf_transformation,[status(thm)],[f986])).
% 2.93/1.67 % SZS output end Proof for DTF2THF_3095
% 2.93/1.67 % (3378)------------------------------
% 2.93/1.67 % (3378)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.93/1.67 % (3378)Termination reason: Refutation
% 2.93/1.67
% 2.93/1.67 % (3378)Memory used [KB]: 7164
% 2.93/1.67 % (3378)Time elapsed: 0.066 s
% 2.93/1.67 % (3378)Instructions burned: 131 (million)
% 2.93/1.67 % (3378)------------------------------
% 2.93/1.67 % (3378)------------------------------
% 2.93/1.67 % (3372)Success in time 0.1 s
%------------------------------------------------------------------------------