Commit d809886b authored by MARCHE Claude's avatar MARCHE Claude
Browse files

fixed isabelle realizations

parent 1fe79e5d
......@@ -2,179 +2,179 @@
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="0" name="CVC4" version="1.2" timelimit="60" memlimit="1000"/>
<prover id="1" name="Coq" version="8.4pl4" timelimit="5" memlimit="4000"/>
<prover id="2" name="Eprover" version="1.6" timelimit="5" memlimit="0"/>
<prover id="0" name="Coq" version="8.4pl4" timelimit="5" memlimit="4000"/>
<prover id="1" name="CVC4" version="1.2" timelimit="60" memlimit="1000"/>
<prover id="2" name="Alt-Ergo" version="0.95.1" timelimit="5" memlimit="0"/>
<prover id="3" name="CVC3" version="2.4.1" timelimit="5" memlimit="0"/>
<prover id="4" name="Alt-Ergo" version="0.95.1" timelimit="5" memlimit="0"/>
<prover id="5" name="CVC4" version="1.4" timelimit="3" memlimit="1000"/>
<prover id="6" name="Z3" version="2.19" timelimit="5" memlimit="0"/>
<prover id="7" name="Z3" version="4.3.1" timelimit="5" memlimit="4000"/>
<prover id="8" name="Spass" version="3.7" timelimit="5" memlimit="0"/>
<prover id="9" name="Eprover" version="1.4" timelimit="3" memlimit="1000"/>
<prover id="10" name="CVC3" version="2.2" timelimit="5" memlimit="0"/>
<prover id="4" name="Eprover" version="1.6" timelimit="5" memlimit="0"/>
<prover id="5" name="Z3" version="2.19" timelimit="5" memlimit="0"/>
<prover id="6" name="CVC4" version="1.4" timelimit="3" memlimit="1000"/>
<prover id="7" name="CVC3" version="2.2" timelimit="5" memlimit="0"/>
<prover id="8" name="Eprover" version="1.4" timelimit="3" memlimit="1000"/>
<prover id="9" name="Spass" version="3.7" timelimit="5" memlimit="0"/>
<prover id="10" name="Z3" version="4.3.1" timelimit="5" memlimit="4000"/>
<prover id="11" name="Simplify" version="1.5.4" timelimit="3" memlimit="1000"/>
<prover id="12" name="Zenon" version="0.7.1" timelimit="5" memlimit="4000"/>
<prover id="12" name="Isabelle" version="2014" timelimit="5" memlimit="1000"/>
<prover id="13" name="Yices" version="1.0.38" timelimit="5" memlimit="0"/>
<prover id="14" name="Isabelle" version="2014" timelimit="5" memlimit="4000"/>
<prover id="15" name="Z3" version="3.2" timelimit="5" memlimit="0"/>
<prover id="16" name="Metis" version="2.3" timelimit="5" memlimit="1000"/>
<prover id="17" name="veriT" version="201310" timelimit="5" memlimit="4000"/>
<prover id="14" name="Zenon" version="0.7.1" timelimit="5" memlimit="4000"/>
<prover id="15" name="Metis" version="2.3" timelimit="5" memlimit="1000"/>
<prover id="16" name="Z3" version="3.2" timelimit="5" memlimit="0"/>
<prover id="17" name="Alt-Ergo" version="0.95.2" timelimit="60" memlimit="1000"/>
<prover id="18" name="PVS" version="6.0" timelimit="5" memlimit="4000"/>
<prover id="19" name="Alt-Ergo" version="0.95.2" timelimit="60" memlimit="1000"/>
<prover id="19" name="veriT" version="201310" timelimit="5" memlimit="4000"/>
<prover id="20" name="CVC4" version="1.3" timelimit="3" memlimit="1000"/>
<prover id="21" name="Vampire" version="0.6" timelimit="3" memlimit="1000"/>
<file name="../genealogy.why" expanded="true">
<theory name="Genealogy" sum="35e1439432a79e05534b2c5cf39ad9dc" expanded="true">
<goal name="Child_is_son_or_daughter" expanded="true">
<proof prover="0"><result status="unknown" time="0.00"/></proof>
<proof prover="1" edited="genealogy_Genealogy_Child_is_son_or_daughter_1.v"><result status="valid" time="1.73"/></proof>
<proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="0" edited="genealogy_Genealogy_Child_is_son_or_daughter_1.v"><result status="valid" time="1.73"/></proof>
<proof prover="1"><result status="unknown" time="0.00"/></proof>
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.01"/></proof>
<proof prover="5"><result status="unknown" time="0.00"/></proof>
<proof prover="6"><result status="valid" time="0.01"/></proof>
<proof prover="7"><result status="unknown" time="2.47"/></proof>
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="9"><result status="valid" time="0.00"/></proof>
<proof prover="10"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
<proof prover="5"><result status="valid" time="0.01"/></proof>
<proof prover="6"><result status="unknown" time="0.00"/></proof>
<proof prover="7"><result status="valid" time="0.00"/></proof>
<proof prover="8"><result status="valid" time="0.00"/></proof>
<proof prover="9"><result status="valid" time="0.01"/></proof>
<proof prover="10"><result status="unknown" time="2.47"/></proof>
<proof prover="11"><result status="valid" time="0.00"/></proof>
<proof prover="12"><result status="valid" time="0.04"/></proof>
<proof prover="12" edited="genealogy_Genealogy_Child_is_son_or_daughter_1.xml"><result status="valid" time="6.86"/></proof>
<proof prover="13"><result status="unknown" time="0.01"/></proof>
<proof prover="14" edited="genealogy_Genealogy_Child_is_son_or_daughter_1.xml"><result status="highfailure" time="0.01"/></proof>
<proof prover="15"><result status="valid" time="0.01"/></proof>
<proof prover="16"><result status="valid" time="0.02"/></proof>
<proof prover="17" timelimit="60" memlimit="1000"><result status="valid" time="0.00"/></proof>
<proof prover="14"><result status="valid" time="0.04"/></proof>
<proof prover="15"><result status="valid" time="0.02"/></proof>
<proof prover="16"><result status="valid" time="0.01"/></proof>
<proof prover="17"><result status="valid" time="0.01"/></proof>
<proof prover="18" edited="genealogy_Genealogy_Child_is_son_or_daughter_1.pvs"><result status="valid" time="0.24"/></proof>
<proof prover="19"><result status="valid" time="0.01"/></proof>
<proof prover="19" timelimit="60" memlimit="1000"><result status="valid" time="0.00"/></proof>
<proof prover="20"><result status="unknown" time="0.00"/></proof>
<proof prover="21"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="Sibling_sym" expanded="true">
<proof prover="0"><result status="valid" time="0.00"/></proof>
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="3"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
<proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="valid" time="0.01"/></proof>
<proof prover="7"><result status="valid" time="0.02"/></proof>
<proof prover="5"><result status="valid" time="0.01"/></proof>
<proof prover="6"><result status="valid" time="0.00"/></proof>
<proof prover="7"><result status="valid" time="0.00"/></proof>
<proof prover="8"><result status="valid" time="0.00"/></proof>
<proof prover="9"><result status="valid" time="0.00"/></proof>
<proof prover="10"><result status="valid" time="0.00"/></proof>
<proof prover="10"><result status="valid" time="0.02"/></proof>
<proof prover="11"><result status="valid" time="0.00"/></proof>
<proof prover="12"><result status="timeout" time="5.23"/></proof>
<proof prover="12" edited="genealogy_Genealogy_Sibling_sym_1.xml"><result status="valid" time="6.71"/></proof>
<proof prover="13"><result status="valid" time="0.00"/></proof>
<proof prover="14" edited="genealogy_Genealogy_Sibling_sym_1.xml"><result status="highfailure" time="0.01"/></proof>
<proof prover="15"><result status="valid" time="0.01"/></proof>
<proof prover="16"><result status="valid" time="0.12"/></proof>
<proof prover="17"><result status="valid" time="0.00"/></proof>
<proof prover="19"><result status="valid" time="0.02"/></proof>
<proof prover="14"><result status="timeout" time="5.23"/></proof>
<proof prover="15"><result status="valid" time="0.12"/></proof>
<proof prover="16"><result status="valid" time="0.01"/></proof>
<proof prover="17"><result status="valid" time="0.02"/></proof>
<proof prover="19"><result status="valid" time="0.00"/></proof>
<proof prover="20"><result status="valid" time="0.00"/></proof>
<proof prover="21"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="Sibling_is_brother_or_sister" expanded="true">
<proof prover="0"><result status="unknown" time="0.01"/></proof>
<proof prover="1"><result status="unknown" time="0.01"/></proof>
<proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="3"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
<proof prover="5"><result status="unknown" time="0.00"/></proof>
<proof prover="6"><result status="valid" time="0.01"/></proof>
<proof prover="7"><result status="unknown" time="3.07"/></proof>
<proof prover="5"><result status="valid" time="0.01"/></proof>
<proof prover="6"><result status="unknown" time="0.00"/></proof>
<proof prover="7"><result status="valid" time="0.00"/></proof>
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="9"><result status="valid" time="0.01"/></proof>
<proof prover="10"><result status="valid" time="0.00"/></proof>
<proof prover="10"><result status="unknown" time="3.07"/></proof>
<proof prover="11"><result status="valid" time="0.00"/></proof>
<proof prover="12"><result status="valid" time="0.03"/></proof>
<proof prover="12" edited="genealogy_Genealogy_Sibling_is_brother_or_sister_1.xml"><result status="valid" time="6.92"/></proof>
<proof prover="13"><result status="unknown" time="0.02"/></proof>
<proof prover="14" edited="genealogy_Genealogy_Sibling_is_brother_or_sister_1.xml"><result status="highfailure" time="0.01"/></proof>
<proof prover="15"><result status="valid" time="0.01"/></proof>
<proof prover="16"><result status="valid" time="0.04"/></proof>
<proof prover="17"><result status="valid" time="0.00"/></proof>
<proof prover="19"><result status="valid" time="0.02"/></proof>
<proof prover="14"><result status="valid" time="0.03"/></proof>
<proof prover="15"><result status="valid" time="0.04"/></proof>
<proof prover="16"><result status="valid" time="0.01"/></proof>
<proof prover="17"><result status="valid" time="0.02"/></proof>
<proof prover="19"><result status="valid" time="0.00"/></proof>
<proof prover="20"><result status="unknown" time="0.01"/></proof>
<proof prover="21"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="Grandparent_is_grandfather_or_grandmother" expanded="true">
<proof prover="0"><result status="valid" time="0.01"/></proof>
<proof prover="1"><result status="valid" time="0.01"/></proof>
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.01"/></proof>
<proof prover="5"><result status="valid" time="0.01"/></proof>
<proof prover="6"><result status="valid" time="0.00"/></proof>
<proof prover="7"><result status="valid" time="0.03"/></proof>
<proof prover="9"><result status="valid" time="0.00"/></proof>
<proof prover="10"><result status="valid" time="0.00"/></proof>
<proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="valid" time="0.01"/></proof>
<proof prover="7"><result status="valid" time="0.00"/></proof>
<proof prover="8"><result status="valid" time="0.00"/></proof>
<proof prover="10"><result status="valid" time="0.03"/></proof>
<proof prover="11"><result status="valid" time="0.00"/></proof>
<proof prover="12"><result status="timeout" time="5.26"/></proof>
<proof prover="12" edited="genealogy_Genealogy_Grandparent_is_grandfather_or_grandmother_1.xml"><result status="valid" time="7.12"/></proof>
<proof prover="13"><result status="valid" time="0.04"/></proof>
<proof prover="14" edited="genealogy_Genealogy_Grandparent_is_grandfather_or_grandmother_1.xml"><result status="highfailure" time="0.00"/></proof>
<proof prover="15"><result status="valid" time="0.01"/></proof>
<proof prover="16"><result status="valid" time="0.07"/></proof>
<proof prover="17"><result status="valid" time="0.00"/></proof>
<proof prover="19"><result status="valid" time="0.02"/></proof>
<proof prover="14"><result status="timeout" time="5.26"/></proof>
<proof prover="15"><result status="valid" time="0.07"/></proof>
<proof prover="16"><result status="valid" time="0.01"/></proof>
<proof prover="17"><result status="valid" time="0.02"/></proof>
<proof prover="19"><result status="valid" time="0.00"/></proof>
<proof prover="20"><result status="valid" time="0.00"/></proof>
<proof prover="21"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="Grandfather_male" expanded="true">
<proof prover="0"><result status="valid" time="0.00"/></proof>
<proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.01"/></proof>
<proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="valid" time="0.01"/></proof>
<proof prover="7"><result status="valid" time="0.03"/></proof>
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="9"><result status="valid" time="0.00"/></proof>
<proof prover="10"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
<proof prover="5"><result status="valid" time="0.01"/></proof>
<proof prover="6"><result status="valid" time="0.00"/></proof>
<proof prover="7"><result status="valid" time="0.00"/></proof>
<proof prover="8"><result status="valid" time="0.00"/></proof>
<proof prover="9"><result status="valid" time="0.02"/></proof>
<proof prover="10"><result status="valid" time="0.03"/></proof>
<proof prover="11"><result status="valid" time="0.00"/></proof>
<proof prover="12"><result status="timeout" time="5.77"/></proof>
<proof prover="13"><result status="valid" time="0.02"/></proof>
<proof prover="15"><result status="valid" time="0.01"/></proof>
<proof prover="16"><result status="valid" time="0.03"/></proof>
<proof prover="17"><result status="valid" time="0.00"/></proof>
<proof prover="19"><result status="valid" time="0.01"/></proof>
<proof prover="14"><result status="timeout" time="5.77"/></proof>
<proof prover="15"><result status="valid" time="0.03"/></proof>
<proof prover="16"><result status="valid" time="0.01"/></proof>
<proof prover="17"><result status="valid" time="0.01"/></proof>
<proof prover="19"><result status="valid" time="0.00"/></proof>
<proof prover="20"><result status="valid" time="0.00"/></proof>
<proof prover="21"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="Grandmother_female" expanded="true">
<proof prover="0"><result status="valid" time="0.01"/></proof>
<proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="1"><result status="valid" time="0.01"/></proof>
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.01"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
<proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="valid" time="0.00"/></proof>
<proof prover="7"><result status="valid" time="0.03"/></proof>
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="9"><result status="valid" time="0.00"/></proof>
<proof prover="10"><result status="valid" time="0.00"/></proof>
<proof prover="7"><result status="valid" time="0.00"/></proof>
<proof prover="8"><result status="valid" time="0.00"/></proof>
<proof prover="9"><result status="valid" time="0.02"/></proof>
<proof prover="10"><result status="valid" time="0.03"/></proof>
<proof prover="11"><result status="valid" time="0.01"/></proof>
<proof prover="12"><result status="timeout" time="5.27"/></proof>
<proof prover="13"><result status="valid" time="0.03"/></proof>
<proof prover="15"><result status="valid" time="0.01"/></proof>
<proof prover="16"><result status="valid" time="0.03"/></proof>
<proof prover="17"><result status="valid" time="0.00"/></proof>
<proof prover="19"><result status="valid" time="0.01"/></proof>
<proof prover="14"><result status="timeout" time="5.27"/></proof>
<proof prover="15"><result status="valid" time="0.03"/></proof>
<proof prover="16"><result status="valid" time="0.01"/></proof>
<proof prover="17"><result status="valid" time="0.01"/></proof>
<proof prover="19"><result status="valid" time="0.00"/></proof>
<proof prover="20"><result status="valid" time="0.00"/></proof>
<proof prover="21"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="Only_two_grandfathers" expanded="true">
<proof prover="0"><result status="valid" time="0.01"/></proof>
<proof prover="1"><result status="valid" time="0.01"/></proof>
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.01"/></proof>
<proof prover="5"><result status="valid" time="0.01"/></proof>
<proof prover="6"><result status="valid" time="0.01"/></proof>
<proof prover="7"><result status="valid" time="0.03"/></proof>
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="9"><result status="valid" time="0.02"/></proof>
<proof prover="10"><result status="valid" time="0.00"/></proof>
<proof prover="7"><result status="valid" time="0.00"/></proof>
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="9"><result status="valid" time="0.01"/></proof>
<proof prover="10"><result status="valid" time="0.03"/></proof>
<proof prover="11"><result status="valid" time="0.00"/></proof>
<proof prover="12"><result status="timeout" time="5.27"/></proof>
<proof prover="13"><result status="valid" time="0.00"/></proof>
<proof prover="15"><result status="valid" time="0.01"/></proof>
<proof prover="16"><result status="valid" time="0.05"/></proof>
<proof prover="17"><result status="valid" time="0.00"/></proof>
<proof prover="19"><result status="valid" time="0.01"/></proof>
<proof prover="14"><result status="timeout" time="5.27"/></proof>
<proof prover="15"><result status="valid" time="0.05"/></proof>
<proof prover="16"><result status="valid" time="0.01"/></proof>
<proof prover="17"><result status="valid" time="0.01"/></proof>
<proof prover="19"><result status="valid" time="0.00"/></proof>
<proof prover="20"><result status="valid" time="0.00"/></proof>
<proof prover="21"><result status="valid" time="0.01"/></proof>
</goal>
......
......@@ -612,10 +612,10 @@
<ip_library name="list"/>
<ip_qualid name="rev_append_append_r"/>
</pr_pos>
<pr_pos name="Num_Occ_Positive" id="4352"
<pr_pos name="Num_Occ_NonNeg" id="4352"
ip_theory="NumOcc">
<ip_library name="list"/>
<ip_qualid name="Num_Occ_Positive"/>
<ip_qualid name="Num_Occ_NonNeg"/>
</pr_pos>
<pr_pos name="Mem_Num_Occ" id="4357"
ip_theory="NumOcc">
......
......@@ -23,7 +23,7 @@ Axiom num_occ_def : forall {a:Type} {a_WT:WhyType a}, forall (x:a) (l:(list
((~ (x = y)) -> ((num_occ x l) = (0%Z + (num_occ x r))%Z))
end.
Axiom Num_Occ_Positive : forall {a:Type} {a_WT:WhyType a}, forall (x:a)
Axiom Num_Occ_NonNeg : forall {a:Type} {a_WT:WhyType a}, forall (x:a)
(l:(list a)), (0%Z <= (num_occ x l))%Z.
(* Why3 assumption *)
......
......@@ -354,9 +354,9 @@
</goal>
</theory>
<theory name="NumOcc" sum="1fa86aeaf6e01c2101b90807733540ed">
<goal name="Num_Occ_Positive">
<goal name="Num_Occ_NonNeg">
<transf name="induction_ty_lex">
<goal name="Num_Occ_Positive.1" expl="1.">
<goal name="Num_Occ_NonNeg.1" expl="1.">
<proof prover="5"><result status="valid" time="0.01"/></proof>
</goal>
</transf>
......
......@@ -169,6 +169,8 @@ why3_vc reverse_mem by simp
why3_vc reverse_cons by simp
why3_vc cons_reverse by simp
why3_end
......@@ -220,13 +222,13 @@ section {* Number of occurrences in a list *}
why3_open "list/NumOcc.xml"
lemma num_occ_nonneg: "0 \<le> num_occ x xs"
by (induct xs) simp_all
why3_vc Num_Occ_NonNeg
by (induct l) simp_all
why3_vc Mem_Num_Occ
proof (induct l)
case (Cons y ys)
from num_occ_nonneg [of y ys]
from Num_Occ_NonNeg [of y ys]
have "0 < 1 + num_occ y ys" by simp
with Cons show ?case by simp
qed simp
......@@ -271,7 +273,7 @@ proof (induct l1 arbitrary: l2)
then show ?case
proof (cases l2)
case (Cons x xs)
with Nil num_occ_nonneg [of x xs]
with Nil Num_Occ_NonNeg [of x xs]
show ?thesis by (auto simp add: permut_def dest: spec [of _ x])
qed simp
next
......
......@@ -392,7 +392,7 @@ theory NumOcc
end
(** number of occurrences of [x] in [l] *)
lemma Num_Occ_Positive: forall x:'a, l: list 'a. num_occ x l >= 0
lemma Num_Occ_NonNeg: forall x:'a, l: list 'a. num_occ x l >= 0
use import Mem
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment