Files
why3/examples/stdlib/list/why3session.xml
Claude Marche db96723fd9 fix sessions
2022-07-07 15:49:23 +02:00

533 lines
20 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="6">
<prover id="0" name="Z3" version="4.6.0" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="1" name="Eprover" version="2.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="2" name="CVC3" version="2.2" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="3" name="Spass" version="3.7" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="5" name="CVC4" version="1.5" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="7" name="Alt-Ergo" version="2.0.0" timelimit="5" steplimit="0" memlimit="1000"/>
<file format="whyml" proved="true">
<path name=".."/><path name=".."/><path name=".."/><path name="stdlib"/>
<path name="list.mlw"/>
<theory name="List" proved="true">
<goal name="is_nil&#39;vc" expl="VC for is_nil" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="7"/></proof>
</goal>
</theory>
<theory name="Length" proved="true">
<goal name="Length_nonnegative" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="Length_nonnegative.0" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="5"/></proof>
</goal>
</transf>
</goal>
<goal name="Length_nil" proved="true">
<transf name="split_goal_right" proved="true" >
<goal name="Length_nil.0" proved="true">
<proof prover="1"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="Length_nil.1" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="4"/></proof>
</goal>
</transf>
</goal>
</theory>
<theory name="Quant" proved="true">
<goal name="for_all&#39;vc" expl="VC for for_all" proved="true">
<proof prover="5"><result status="valid" time="0.04" steps="3751"/></proof>
</goal>
<goal name="for_some&#39;vc" expl="VC for for_some" proved="true">
<proof prover="5"><result status="valid" time="0.02" steps="4830"/></proof>
</goal>
<goal name="mem&#39;vc" expl="VC for mem" proved="true">
<proof prover="5"><result status="valid" time="0.02" steps="4082"/></proof>
</goal>
</theory>
<theory name="Elements" proved="true">
<goal name="elements_mem" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="elements_mem.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="64"/></proof>
</goal>
</transf>
</goal>
</theory>
<theory name="NthLength" proved="true">
<goal name="nth_none_1" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="nth_none_1.0" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="22"/></proof>
</goal>
</transf>
</goal>
<goal name="nth_none_2" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="nth_none_2.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="22"/></proof>
</goal>
</transf>
</goal>
<goal name="nth_none_3" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="nth_none_3.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="23"/></proof>
</goal>
</transf>
</goal>
</theory>
<theory name="NthHdTl" proved="true">
<goal name="Nth_tl" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="21"/></proof>
</goal>
<goal name="Nth0_head" proved="true">
<proof prover="1"><result status="valid" time="0.01"/></proof>
</goal>
</theory>
<theory name="Append" proved="true">
<goal name="Append_assoc" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="Append_assoc.0" proved="true">
<transf name="split_goal_right" proved="true" >
<goal name="Append_assoc.0.0" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="3"/></proof>
</goal>
<goal name="Append_assoc.0.1" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="5"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="Append_l_nil" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="Append_l_nil.0" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="5"/></proof>
</goal>
</transf>
</goal>
<goal name="Append_length" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="Append_length.0" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="23"/></proof>
</goal>
</transf>
</goal>
<goal name="mem_append" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="mem_append.0" proved="true">
<proof prover="7"><result status="valid" time="0.06" steps="231"/></proof>
</goal>
</transf>
</goal>
<goal name="mem_decomp" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="mem_decomp.0" proved="true">
<transf name="split_goal_right" proved="true" >
<goal name="mem_decomp.0.0" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="3"/></proof>
</goal>
<goal name="mem_decomp.0.1" proved="true">
<proof prover="3"><result status="valid" time="0.42"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
</theory>
<theory name="NthLengthAppend" proved="true">
<goal name="nth_append_1" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="nth_append_1.0" proved="true">
<proof prover="7"><result status="valid" time="0.02" steps="62"/></proof>
</goal>
</transf>
</goal>
<goal name="nth_append_2" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="nth_append_2.0" proved="true">
<proof prover="7"><result status="valid" time="0.02" steps="44"/></proof>
</goal>
</transf>
</goal>
</theory>
<theory name="Reverse" proved="true">
<goal name="reverse_append" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="reverse_append.0" proved="true">
<proof prover="7"><result status="valid" time="0.09" steps="240"/></proof>
</goal>
</transf>
</goal>
<goal name="reverse_cons" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="2"/></proof>
</goal>
<goal name="cons_reverse" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="cons_reverse.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="35"/></proof>
</goal>
</transf>
</goal>
<goal name="reverse_reverse" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="reverse_reverse.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="12"/></proof>
</goal>
</transf>
</goal>
<goal name="reverse_mem" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="reverse_mem.0" proved="true">
<proof prover="7"><result status="valid" time="0.03" steps="195"/></proof>
</goal>
</transf>
</goal>
<goal name="Reverse_length" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="Reverse_length.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="28"/></proof>
</goal>
</transf>
</goal>
</theory>
<theory name="RevAppend" proved="true">
<goal name="rev_append_append_l" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="rev_append_append_l.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="17"/></proof>
</goal>
</transf>
</goal>
<goal name="rev_append_length" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="rev_append_length.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="23"/></proof>
</goal>
</transf>
</goal>
<goal name="rev_append_def" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="rev_append_def.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="31"/></proof>
</goal>
</transf>
</goal>
<goal name="rev_append_append_r" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="40"/></proof>
</goal>
</theory>
<theory name="Sorted" proved="true">
<goal name="sorted_mem" proved="true">
<transf name="split_goal_right" proved="true" >
<goal name="sorted_mem.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="52"/></proof>
</goal>
<goal name="sorted_mem.1" proved="true">
<transf name="induction_pr" proved="true" >
<goal name="sorted_mem.1.0" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="5"/></proof>
</goal>
<goal name="sorted_mem.1.1" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="13"/></proof>
</goal>
<goal name="sorted_mem.1.2" proved="true">
<proof prover="7"><result status="valid" time="0.03" steps="118"/></proof>
</goal>
</transf>
</goal>
<goal name="sorted_mem.2" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="18"/></proof>
</goal>
</transf>
</goal>
<goal name="sorted_append" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="sorted_append.0" proved="true">
<transf name="split_goal_right" proved="true" >
<goal name="sorted_append.0.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="6"/></proof>
</goal>
<goal name="sorted_append.0.1" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="4"/></proof>
</goal>
<goal name="sorted_append.0.2" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="5"/></proof>
</goal>
<goal name="sorted_append.0.3" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="7"/></proof>
</goal>
<goal name="sorted_append.0.4" proved="true">
<proof prover="7"><result status="valid" time="0.11" steps="375"/></proof>
</goal>
<goal name="sorted_append.0.5" proved="true">
<proof prover="7"><result status="valid" time="0.12" steps="378"/></proof>
</goal>
<goal name="sorted_append.0.6" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="46"/></proof>
</goal>
<goal name="sorted_append.0.7" proved="true">
<proof prover="7"><result status="valid" time="0.22" steps="894"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
</theory>
<theory name="SortedInt" proved="true">
<goal name="Transitive.Trans" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="3"/></proof>
</goal>
</theory>
<theory name="RevSorted" proved="true">
<goal name="Incr.Transitive.Trans" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="4"/></proof>
</goal>
<goal name="Decr.Transitive.Trans" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="5"/></proof>
</goal>
<goal name="rev_append_sorted_incr" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="rev_append_sorted_incr.0" proved="true">
<transf name="split_goal_right" proved="true" >
<goal name="rev_append_sorted_incr.0.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="5"/></proof>
</goal>
<goal name="rev_append_sorted_incr.0.1" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="6"/></proof>
</goal>
<goal name="rev_append_sorted_incr.0.2" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="28"/></proof>
</goal>
<goal name="rev_append_sorted_incr.0.3" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="8"/></proof>
</goal>
<goal name="rev_append_sorted_incr.0.4" proved="true">
<proof prover="5"><result status="valid" time="0.07" steps="22303"/></proof>
</goal>
<goal name="rev_append_sorted_incr.0.5" proved="true">
<proof prover="7"><result status="valid" time="0.03" steps="60"/></proof>
</goal>
<goal name="rev_append_sorted_incr.0.6" proved="true">
<proof prover="7"><result status="valid" time="0.73" steps="2216"/></proof>
</goal>
<goal name="rev_append_sorted_incr.0.7" proved="true">
<proof prover="1"><result status="valid" time="0.92"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="rev_append_sorted_decr" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="rev_append_sorted_decr.0" proved="true">
<transf name="split_goal_right" proved="true" >
<goal name="rev_append_sorted_decr.0.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="5"/></proof>
</goal>
<goal name="rev_append_sorted_decr.0.1" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="6"/></proof>
</goal>
<goal name="rev_append_sorted_decr.0.2" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="34"/></proof>
</goal>
<goal name="rev_append_sorted_decr.0.3" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="8"/></proof>
</goal>
<goal name="rev_append_sorted_decr.0.4" proved="true">
<proof prover="5"><result status="valid" time="0.05" steps="25376"/></proof>
</goal>
<goal name="rev_append_sorted_decr.0.5" proved="true">
<proof prover="7"><result status="valid" time="0.03" steps="72"/></proof>
</goal>
<goal name="rev_append_sorted_decr.0.6" proved="true">
<proof prover="7"><result status="valid" time="0.22" steps="1011"/></proof>
</goal>
<goal name="rev_append_sorted_decr.0.7" proved="true">
<proof prover="5"><result status="valid" time="0.07" steps="13256"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
</theory>
<theory name="NumOcc" proved="true">
<goal name="Num_Occ_NonNeg" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="Num_Occ_NonNeg.0" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="9"/></proof>
</goal>
</transf>
</goal>
<goal name="Mem_Num_Occ" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="Mem_Num_Occ.0" proved="true">
<transf name="split_goal_right" proved="true" >
<goal name="Mem_Num_Occ.0.0" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="6"/></proof>
</goal>
<goal name="Mem_Num_Occ.0.1" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="5"/></proof>
</goal>
<goal name="Mem_Num_Occ.0.2" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="21"/></proof>
</goal>
<goal name="Mem_Num_Occ.0.3" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="12"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="Append_Num_Occ" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="Append_Num_Occ.0" proved="true">
<proof prover="7"><result status="valid" time="0.02" steps="86"/></proof>
</goal>
</transf>
</goal>
<goal name="reverse_num_occ" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="reverse_num_occ.0" proved="true">
<proof prover="7"><result status="valid" time="0.11" steps="397"/></proof>
</goal>
</transf>
</goal>
</theory>
<theory name="Permut" proved="true">
<goal name="Permut_refl" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="2"/></proof>
</goal>
<goal name="Permut_sym" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="3"/></proof>
</goal>
<goal name="Permut_trans" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="6"/></proof>
</goal>
<goal name="Permut_cons" proved="true">
<proof prover="7"><result status="valid" time="0.06" steps="159"/></proof>
</goal>
<goal name="Permut_swap" proved="true">
<proof prover="7"><result status="valid" time="0.11" steps="405"/></proof>
</goal>
<goal name="Permut_cons_append" proved="true">
<proof prover="7"><result status="valid" time="0.11" steps="170"/></proof>
</goal>
<goal name="Permut_assoc" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="4"/></proof>
</goal>
<goal name="Permut_append" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="18"/></proof>
</goal>
<goal name="Permut_append_swap" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="4"/></proof>
</goal>
<goal name="Permut_mem" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="16"/></proof>
</goal>
<goal name="Permut_length" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="Permut_length.0" proved="true">
<transf name="split_vc" proved="true" >
<goal name="Permut_length.0.0" proved="true">
<transf name="destruct_term" proved="true" arg1="l2">
<goal name="Permut_length.0.0.0" proved="true">
<proof prover="0"><result status="valid" time="0.02" steps="44757"/></proof>
</goal>
<goal name="Permut_length.0.0.1" proved="true">
<proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="6826"/></proof>
</goal>
</transf>
</goal>
<goal name="Permut_length.0.1" proved="true">
<transf name="unfold" proved="true" arg1="permut" arg2="in" arg3="H">
<goal name="Permut_length.0.1.0" proved="true">
<transf name="assert" proved="true" arg1="(num_occ x1 l1 &gt;= 1)">
<goal name="Permut_length.0.1.0.0" expl="asserted formula" proved="true">
<proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="8416"/></proof>
</goal>
<goal name="Permut_length.0.1.0.1" proved="true">
<transf name="assert" proved="true" arg1="(mem x1 l2)">
<goal name="Permut_length.0.1.0.1.0" expl="asserted formula" proved="true">
<proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="8521"/></proof>
</goal>
<goal name="Permut_length.0.1.0.1.1" proved="true">
<transf name="instantiate" proved="true" arg1="mem_decomp" arg2="x1,l2">
<goal name="Permut_length.0.1.0.1.1.0" proved="true">
<transf name="destruct" proved="true" arg1="Hinst">
<goal name="Permut_length.0.1.0.1.1.0.0" expl="destruct premise" proved="true">
<proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="7350"/></proof>
</goal>
<goal name="Permut_length.0.1.0.1.1.0.1" proved="true">
<transf name="destruct" proved="true" arg1="Hinst">
<goal name="Permut_length.0.1.0.1.1.0.1.0" proved="true">
<transf name="destruct" proved="true" arg1="Hinst">
<goal name="Permut_length.0.1.0.1.1.0.1.0.0" proved="true">
<transf name="assert" proved="true" arg1="(permut x (l1 ++ l2))">
<goal name="Permut_length.0.1.0.1.1.0.1.0.0.0" expl="asserted formula" proved="true">
<proof prover="2"><result status="valid" time="4.07"/></proof>
</goal>
<goal name="Permut_length.0.1.0.1.1.0.1.0.0.1" proved="true">
<proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="9963"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
</goal>
</theory>
<theory name="Distinct" proved="true">
<goal name="distinct_append" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="distinct_append.0" proved="true">
<transf name="split_goal_right" proved="true" >
<goal name="distinct_append.0.0" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="5"/></proof>
</goal>
<goal name="distinct_append.0.1" proved="true">
<proof prover="7"><result status="valid" time="0.17" steps="863"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
</theory>
<theory name="FoldLeft" proved="true">
<goal name="fold_left_append" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="fold_left_append.0" proved="true">
<proof prover="7"><result status="valid" time="0.00" steps="17"/></proof>
</goal>
</transf>
</goal>
</theory>
<theory name="FoldRight" proved="true">
<goal name="fold_right_append" proved="true">
<transf name="induction_ty_lex" proved="true" >
<goal name="fold_right_append.0" proved="true">
<proof prover="7"><result status="valid" time="0.01" steps="17"/></proof>
</goal>
</transf>
</goal>
</theory>
</file>
</why3session>