Commit a14cd935 authored by MARCHE Claude's avatar MARCHE Claude

Merge branch 'claude'

Conflicts:
	drivers/smt-libv2.drv
parents ea4a727a b541c255
...@@ -152,6 +152,7 @@ LIB_MLW = ity expr dexpr ...@@ -152,6 +152,7 @@ LIB_MLW = ity expr dexpr
LIB_PARSER = ptree glob parser typing lexer LIB_PARSER = ptree glob parser typing lexer
LIB_TRANSFORM = simplify_formula inlining split_goal induction \ LIB_TRANSFORM = simplify_formula inlining split_goal induction \
detect_polymorphism \
eliminate_definition eliminate_algebraic \ eliminate_definition eliminate_algebraic \
eliminate_inductive eliminate_let eliminate_if \ eliminate_inductive eliminate_let eliminate_if \
libencoding discriminate encoding encoding_select \ libencoding discriminate encoding encoding_select \
......
import "cvc4_bare.drv" (** Why3 driver for CVC4 <= 1.3 *)
prelude "(set-logic AUFNIRA)"
(*
A : Array
UF : Uninterpreted Function
NIRA : NonLinear Integer Reals Arithmetic
*)
import "smt-libv2.drv"
import "discrimination.gen" import "discrimination.gen"
transformation "inline_trivial"
transformation "eliminate_builtin"
transformation "eliminate_definition"
transformation "eliminate_inductive"
transformation "eliminate_algebraic"
transformation "eliminate_epsilon"
transformation "simplify_formula"
(*transformation "simplify_trivial_quantification"*)
transformation "discriminate"
transformation "encoding_smt"
(** Error messages specific to CVC4 *)
outofmemory "(error \".*out of memory\")\\|Cannot allocate memory"
timeout "interrupted by timeout"
steps "smt::SmtEngine::resourceUnitsUsed, \\([0-9]+.?[0-9]*\\)" 1
(** Extra theories supported by CVC4 *)
(* Disabled:
CVC4 division seems to be neither the Euclidean one, nor the Computer one
theory int.EuclideanDivision
syntax function div "(div %1 %2)"
syntax function mod "(mod %1 %2)"
remove prop Mod_bound
remove prop Div_mod
remove prop Mod_1
remove prop Div_1
end
theory int.ComputerDivision
syntax function div "(div %1 %2)"
syntax function mod "(mod %1 %2)"
remove prop Mod_bound
remove prop Div_mod
remove prop Mod_1
remove prop Div_1
end
*)
prelude "(set-logic AUFBVNIRA)" (** Why3 driver for CVC4 >= 1.4 *)
(** A : Array
prelude "(set-logic AUFBVDTNIRA)"
(*
A : Array
UF : Uninterpreted Function UF : Uninterpreted Function
DT : Datatypes (not needed at the end ...) BV : BitVectors
DT : Datatypes
NIRA : NonLinear Integer Reals Arithmetic NIRA : NonLinear Integer Reals Arithmetic
*) *)
(* prelude "(set-logic ALL_SUPPORTED)" *) (* prelude "(set-logic ALL_SUPPORTED)"
does not seem to include DT
*)
import "smt-libv2.drv" import "smt-libv2.drv"
import "discrimination.gen"
transformation "inline_trivial"
transformation "eliminate_builtin"
(* temporarily disabled: too much experimental
transformation "detect_polymorphism"
*)
transformation "eliminate_definition_if_poly"
transformation "eliminate_inductive"
transformation "eliminate_algebraic_if_poly"
transformation "eliminate_epsilon"
(* regexp for steps *) transformation "simplify_formula"
steps "smt::SmtEngine::resourceUnitsUsed, \\([0-9]+.?[0-9]*\\)" 1 (*transformation "simplify_trivial_quantification"*)
transformation "discriminate_if_poly"
transformation "encoding_smt_if_poly"
(** Error messages specific to CVC4 *)
outofmemory "(error \".*out of memory\")\\|Cannot allocate memory"
timeout "interrupted by timeout"
(* regexp for steps should match things like
smt::SmtEngine::resourceUnitsUsed, 1041
but not in the same line as the "valid" answer
*)
(** Extra theories supported by CVC4 *)
(* Disabled:
CVC4 division seems to be neither the Euclidean one, nor the Computer one
(* CVC4 division seems to be neither the Euclidean one, nor the Computer one *)
(*
theory int.EuclideanDivision theory int.EuclideanDivision
syntax function div "(div %1 %2)" syntax function div "(div %1 %2)"
syntax function mod "(mod %1 %2)" syntax function mod "(mod %1 %2)"
......
(* Why driver for SMTLIB2 syntax *) (* Why3 driver for SMT-LIB2 syntax, excluding bit-vectors *)
prelude ";;; this is a prelude for smt-lib v2" prelude ";;; generated by SMT-LIB2 driver"
(*
Note: we do not insert any command "set-logic" because its
interpretation is specific to provers
prelude "(set-logic AUFNIRA)"
A : Array
UF : Uninterpreted Function
DT : Datatypes (not needed at the end ...)
NIRA : NonLinear Integer Reals Arithmetic
*)
printer "smtv2" printer "smtv2"
filename "%f-%t-%g.smt2" filename "%f-%t-%g.smt2"
unknown "^\\(unknown\\|sat\\|Fail\\)" "" unknown "^\\(unknown\\|sat\\|Fail\\)" ""
outofmemory "^(error \".*out of memory\")\\|Cannot allocate memory"
fail "^(error \"\\(W\\(A\\(R\\(N\\(I\\(N[^G]\\|[^N]\\)\\|[^I]\\)\\|[^N]\\)\\|[^R]\\)\\|[^A]\\)\\|[^W]\\)\\(.*\\)\")" "Error: \\1"
timeout "interrupted by timeout"
time "why3cpulimit time : %s s" time "why3cpulimit time : %s s"
valid "^unsat" valid "^unsat"
(* À discuter *)
transformation "inline_trivial"
transformation "eliminate_builtin"
transformation "eliminate_definition"
transformation "eliminate_inductive"
transformation "eliminate_algebraic"
transformation "eliminate_epsilon"
transformation "simplify_formula"
(*transformation "simplify_trivial_quantification"*)
transformation "discriminate"
transformation "encoding_smt"
theory BuiltIn theory BuiltIn
syntax type int "Int" syntax type int "Int"
...@@ -36,7 +33,7 @@ end ...@@ -36,7 +33,7 @@ end
theory int.Int theory int.Int
prelude ";;; this is a prelude for smt-lib v2 integer arithmetic" prelude ";;; SMT-LIB2: integer arithmetic"
syntax function zero "0" syntax function zero "0"
syntax function one "1" syntax function one "1"
...@@ -74,7 +71,7 @@ end ...@@ -74,7 +71,7 @@ end
theory real.Real theory real.Real
prelude ";;; this is a prelude for smt-lib v2 real arithmetic" prelude ";;; SMT-LIB2: real arithmetic"
syntax function zero "0.0" syntax function zero "0.0"
syntax function one "1.0" syntax function one "1.0"
...@@ -135,7 +132,7 @@ theory bool.Ite ...@@ -135,7 +132,7 @@ theory bool.Ite
meta "encoding : lskept" function ite meta "encoding : lskept" function ite
end end
(* (* not uniformly interpreted by provers
theory real.Truncate theory real.Truncate
syntax function floor "(to_int %1)" syntax function floor "(to_int %1)"
remove prop Floor_down remove prop Floor_down
......
(** Why3 driver for Z3 <= 4.3.1 *)
prelude "(set-logic AUFNIRA)" prelude "(set-logic AUFNIRA)"
(** A : Array (* A : Array
UF : Uninterpreted Function UF : Uninterpreted Function
DT : Datatypes (not needed at the end ...) NIRA : NonLinear Integer Reals Arithmetic
NIRA : NonLinear Integer Reals Arithmetic
*) *)
import "z3_bare.drv" import "smt-libv2.drv"
import "discrimination.gen"
transformation "inline_trivial"
transformation "eliminate_builtin"
transformation "eliminate_definition"
transformation "eliminate_inductive"
transformation "eliminate_algebraic"
transformation "eliminate_epsilon"
transformation "simplify_formula"
(* transformation "simplify_trivial_quantification" *)
transformation "discriminate"
transformation "encoding_smt"
(** Error messages specific to Z3 *)
outofmemory "(error \".*out of memory\")\\|Cannot allocate memory"
timeout "interrupted by timeout"
(* stop reporting Z3 2.19 warnings as errors *)
fail "^(error \"\\(W\\(A\\(R\\(N\\(I\\(N[^G]\\|[^N]\\)\\|[^I]\\)\\|[^N]\\)\\|[^R]\\)\\|[^A]\\)\\|[^W]\\)\\(.*\\)\")" "Error: \1"
(** Extra theories supported by Z3 *)
(* div/mod of Z3 seems to be Euclidean Division *)
theory int.EuclideanDivision
syntax function div "(div %1 %2)"
syntax function mod "(mod %1 %2)"
remove prop Mod_bound
remove prop Div_mod
remove prop Mod_1
remove prop Div_1
end
theory real.FromInt
syntax function from_int "(to_real %1)"
remove prop Zero
remove prop One
remove prop Add
remove prop Sub
remove prop Mul
remove prop Neg
end
(* does not work: Z3 segfaults
theory real.Trigonometry
syntax function cos "(cos %1)"
syntax function sin "(sin %1)"
syntax function pi "pi"
syntax function tan "(tan %1)"
syntax function atan "(atan %1)"
end
*)
(** Why3 driver for Z3 >= 4.3.2 *)
(* Do not set any logic, let z3 choose by itself
prelude "(set-logic AUFNIRA)"
*)
import "smt-libv2.drv" import "smt-libv2.drv"
import "discrimination.gen"
transformation "inline_trivial"
transformation "eliminate_builtin"
(* temporarily disabled: too much experimental
transformation "detect_polymorphism"
*)
transformation "eliminate_definition_if_poly"
transformation "eliminate_inductive"
transformation "eliminate_algebraic_if_poly"
transformation "eliminate_epsilon"
transformation "simplify_formula"
(*transformation "simplify_trivial_quantification"*)
transformation "discriminate_if_poly"
transformation "encoding_smt_if_poly"
(** Error messages specific to Z3 *)
outofmemory "(error \".*out of memory\")\\|Cannot allocate memory"
timeout "interrupted by timeout"
(** Extra theories supported by Z3 *)
(* div/mod of Z3 seems to be Euclidean Division *) (* div/mod of Z3 seems to be Euclidean Division *)
theory int.EuclideanDivision theory int.EuclideanDivision
...@@ -32,7 +63,6 @@ theory real.Trigonometry ...@@ -32,7 +63,6 @@ theory real.Trigonometry
end end
*) *)
import "discrimination.gen"
(* bitvector modules, is not in smt-libv2.drv since cvc4 and z3 don't (* bitvector modules, is not in smt-libv2.drv since cvc4 and z3 don't
have the same name for the function to_int *) have the same name for the function to_int *)
......
...@@ -2,17 +2,19 @@ ...@@ -2,17 +2,19 @@
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN" <!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd"> "http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4"> <why3session shape_version="4">
<prover id="0" name="CVC3" version="2.4.1" timelimit="2" memlimit="0"/> <prover id="0" name="Alt-Ergo" version="0.99.1" timelimit="5" memlimit="1000"/>
<prover id="1" name="Alt-Ergo" version="0.95.1" timelimit="2" memlimit="0"/> <prover id="1" name="Alt-Ergo" version="0.95.1" timelimit="2" memlimit="0"/>
<prover id="2" name="Z3" version="2.19" timelimit="2" memlimit="0"/> <prover id="2" name="CVC3" version="2.4.1" timelimit="2" memlimit="0"/>
<prover id="3" name="Gappa" version="1.1.1" timelimit="5" memlimit="0"/> <prover id="3" name="CVC4" version="1.4" timelimit="5" memlimit="1000"/>
<file name="../12475.why"> <prover id="4" name="Z3" version="4.3.2" timelimit="5" memlimit="1000"/>
<file name="../12475.why" expanded="true">
<theory name="Stmt" sum="468c7dbd45c8c0959e1b169a3ca1bbe3" expanded="true"> <theory name="Stmt" sum="468c7dbd45c8c0959e1b169a3ca1bbe3" expanded="true">
<goal name="toto" expanded="true"> <goal name="toto" expanded="true">
<proof prover="0"><result status="valid" time="0.00"/></proof> <proof prover="0"><result status="valid" time="0.01" steps="3"/></proof>
<proof prover="1"><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.02"/></proof> <proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="3"><result status="unknown" time="0.00"/></proof> <proof prover="3"><result status="valid" time="0.01"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal> </goal>
</theory> </theory>
</file> </file>
......
...@@ -2,187 +2,187 @@ ...@@ -2,187 +2,187 @@
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN" <!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd"> "http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4"> <why3session shape_version="4">
<prover id="0" name="Coq" version="8.4pl4" timelimit="5" memlimit="4000"/> <prover id="0" name="CVC4" version="1.2" timelimit="60" memlimit="1000"/>
<prover id="1" 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="Alt-Ergo" version="0.95.1" timelimit="5" memlimit="0"/> <prover id="2" name="Eprover" version="1.6" timelimit="5" memlimit="0"/>
<prover id="3" name="CVC3" version="2.4.1" timelimit="5" memlimit="0"/> <prover id="3" name="CVC3" version="2.4.1" timelimit="5" memlimit="0"/>
<prover id="4" name="Eprover" version="1.6" timelimit="5" memlimit="0"/> <prover id="4" name="Alt-Ergo" version="0.95.1" timelimit="5" memlimit="0"/>
<prover id="5" name="Z3" version="2.19" timelimit="5" memlimit="0"/> <prover id="5" name="CVC4" version="1.4" timelimit="5" memlimit="1000"/>
<prover id="6" 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="CVC3" version="2.2" timelimit="5" memlimit="0"/> <prover id="7" name="Z3" version="4.3.1" timelimit="5" memlimit="4000"/>
<prover id="8" name="Eprover" version="1.4" timelimit="3" memlimit="1000"/> <prover id="8" name="Spass" version="3.7" timelimit="5" memlimit="0"/>
<prover id="9" 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="Z3" version="4.3.1" timelimit="5" memlimit="4000"/> <prover id="10" name="CVC3" version="2.2" timelimit="5" memlimit="0"/>
<prover id="11" name="Simplify" version="1.5.4" timelimit="3" memlimit="1000"/> <prover id="11" name="Simplify" version="1.5.4" timelimit="3" memlimit="1000"/>
<prover id="12" name="Yices" version="1.0.38" timelimit="5" memlimit="0"/> <prover id="12" name="Isabelle" version="2014" timelimit="5" memlimit="4000"/>
<prover id="13" name="Zenon" version="0.7.1" timelimit="5" memlimit="4000"/> <prover id="13" name="Zenon" version="0.7.1" timelimit="5" memlimit="4000"/>
<prover id="14" name="Isabelle" version="2014" timelimit="5" memlimit="4000"/> <prover id="14" name="Yices" version="1.0.38" timelimit="5" memlimit="0"/>
<prover id="15" name="Metis" version="2.3" timelimit="5" memlimit="1000"/> <prover id="15" name="Z3" version="3.2" timelimit="5" memlimit="0"/>
<prover id="16" 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="Z3" version="4.3.2" timelimit="5" memlimit="1000"/> <prover id="17" name="Z3" version="4.3.2" timelimit="5" memlimit="1000"/>
<prover id="18" name="Alt-Ergo" version="0.95.2" timelimit="60" memlimit="1000"/> <prover id="18" name="veriT" version="201310" timelimit="5" memlimit="4000"/>
<prover id="19" name="PVS" version="6.0" timelimit="5" memlimit="4000"/> <prover id="19" name="PVS" version="6.0" timelimit="5" memlimit="4000"/>
<prover id="20" name="veriT" version="201310" timelimit="5" memlimit="4000"/> <prover id="20" name="Alt-Ergo" version="0.95.2" timelimit="60" memlimit="1000"/>
<prover id="21" name="CVC4" version="1.3" timelimit="3" memlimit="1000"/> <prover id="21" name="CVC4" version="1.3" timelimit="3" memlimit="1000"/>
<prover id="22" name="Vampire" version="0.6" timelimit="3" memlimit="1000"/> <prover id="22" name="Vampire" version="0.6" timelimit="3" memlimit="1000"/>
<file name="../genealogy.why" expanded="true"> <file name="../genealogy.why" expanded="true">
<theory name="Genealogy" sum="35e1439432a79e05534b2c5cf39ad9dc" expanded="true"> <theory name="Genealogy" sum="35e1439432a79e05534b2c5cf39ad9dc" expanded="true">
<goal name="Child_is_son_or_daughter" expanded="true"> <goal name="Child_is_son_or_daughter" expanded="true">
<proof prover="0" edited="genealogy_Genealogy_Child_is_son_or_daughter_1.v"><result status="valid" time="1.58"/></proof> <proof prover="0"><result status="unknown" time="0.00"/></proof>
<proof prover="1"><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.58"/></proof>
<proof prover="2"><result status="valid" time="0.01" steps="12"/></proof> <proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="3"><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="4"><result status="valid" time="0.01" steps="12"/></proof>
<proof prover="5"><result status="valid" time="0.01"/></proof> <proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="unknown" 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="7" memlimit="1000"><result status="unknown" time="0.00"/></proof>
<proof prover="8"><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="9"><result status="valid" time="0.00"/></proof>
<proof prover="10"><result status="unknown" time="2.28"/></proof> <proof prover="10"><result status="valid" time="0.00"/></proof>
<proof prover="11"><result status="valid" time="0.00"/></proof> <proof prover="11"><result status="valid" time="0.00"/></proof>
<proof prover="12"><result status="unknown" time="0.01"/></proof> <proof prover="12" edited="genealogy_Genealogy_Child_is_son_or_daughter_1.xml"><result status="valid" time="7.22"/></proof>
<proof prover="13"><result status="valid" time="0.04"/></proof> <proof prover="13"><result status="valid" time="0.04"/></proof>
<proof prover="14" edited="genealogy_Genealogy_Child_is_son_or_daughter_1.xml"><result status="valid" time="7.22"/></proof> <proof prover="14"><result status="unknown" time="0.01"/></proof>
<proof prover="15"><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.01"/></proof> <proof prover="16"><result status="valid" time="0.02"/></proof>
<proof prover="17"><result status="valid" time="0.00"/></proof> <proof prover="17"><result status="valid" time="0.00"/></proof>
<proof prover="18"><result status="valid" time="0.01" steps="12"/></proof> <proof prover="18" timelimit="60" memlimit="1000"><result status="valid" time="0.00"/></proof>
<proof prover="19" edited="genealogy_Genealogy_Child_is_son_or_daughter_1.pvs"><result status="valid" time="0.24"/></proof> <proof prover="19" edited="genealogy_Genealogy_Child_is_son_or_daughter_1.pvs"><result status="valid" time="0.24"/></proof>
<proof prover="20" timelimit="60" memlimit="1000"><result status="valid" time="0.00"/></proof> <proof prover="20"><result status="valid" time="0.01" steps="12"/></proof>
<proof prover="21"><result status="unknown" time="0.00"/></proof> <proof prover="21"><result status="unknown" time="0.00"/></proof>
<proof prover="22"><result status="valid" time="0.00"/></proof> <proof prover="22"><result status="valid" time="0.00"/></proof>
</goal> </goal>
<goal name="Sibling_sym" expanded="true"> <goal name="Sibling_sym" expanded="true">
<proof prover="1"><result status="valid" time="0.00"/></proof> <proof prover="0"><result status="valid" time="0.00"/></proof>
<proof prover="2"><result status="valid" time="0.00" steps="5"/></proof> <proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="3"><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="4"><result status="valid" time="0.00" steps="5"/></proof>
<proof prover="5"><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.00"/></proof> <proof prover="6"><result status="valid" time="0.01"/></proof>
<proof prover="7"><result status="valid" time="0.00"/></proof> <proof prover="7"><result status="valid" time="0.02"/></proof>
<proof prover="8"><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="9"><result status="valid" time="0.00"/></proof>
<proof prover="10"><result status="valid" time="0.02"/></proof> <proof prover="10"><result status="valid" time="0.00"/></proof>
<proof prover="11"><result status="valid" time="0.00"/></proof> <proof prover="11"><result status="valid" time="0.00"/></proof>
<proof prover="12"><result status="valid" time="0.00"/></proof> <proof prover="12" edited="genealogy_Genealogy_Sibling_sym_1.xml"><result status="valid" time="6.90"/></proof>
<proof prover="13"><result status="timeout" time="5.23"/></proof> <proof prover="13"><result status="timeout" time="5.23"/></proof>
<proof prover="14" edited="genealogy_Genealogy_Sibling_sym_1.xml"><result status="valid" time="6.90"/></proof> <proof prover="14"><result status="valid" time="0.00"/></proof>
<proof prover="15"><result status="valid" time="0.12"/></proof> <proof prover="15"><result status="valid" time="0.01"/></proof>
<proof prover="16"><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="17"><result status="valid" time="0.00"/></proof>
<proof prover="18"><result status="valid" time="0.02" steps="5"/></proof> <proof prover="18"><result status="valid" time="0.00"/></proof>
<proof prover="20"><result status="valid" time="0.00"/></proof> <proof prover="20"><result status="valid" time="0.02" steps="5"/></proof>
<proof prover="21"><result status="valid" time="0.00"/></proof> <proof prover="21"><result status="valid" time="0.00"/></proof>
<proof prover="22"><result status="valid" time="0.00"/></proof> <proof prover="22"><result status="valid" time="0.00"/></proof>
</goal> </goal>
<goal name="Sibling_is_brother_or_sister" expanded="true"> <goal name="Sibling_is_brother_or_sister" expanded="true">
<proof prover="1"><result status="unknown" time="0.01"/></proof> <proof prover="0"><result status="unknown" time="0.01"/></proof>
<proof prover="2"><result status="valid" time="0.00" steps="9"/></proof> <proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="3"><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="4"><result status="valid" time="0.00" steps="9"/></proof>
<proof prover="5"><result status="valid" time="0.01"/></proof> <proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="unknown" 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="7"><result status="unknown" time="2.25"/></proof>
<proof prover="8"><result status="valid" time="0.01"/></proof> <proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="9"><result status="valid" time="0.01"/></proof> <proof prover="9"><result status="valid" time="0.01"/></proof>
<proof prover="10"><result status="unknown" time="2.25"/></proof> <proof prover="10"><result status="valid" time="0.00"/></proof>
<proof prover="11"><result status="valid" time="0.00"/></proof> <proof prover="11"><result status="valid" time="0.00"/></proof>
<proof prover="12"><result status="unknown" time="0.02"/></proof> <proof prover="12" edited="genealogy_Genealogy_Sibling_is_brother_or_sister_1.xml"><result status="valid" time="7.50"/></proof>
<proof prover="13"><result status="valid" time="0.03"/></proof> <proof prover="13"><result status="valid" time="0.03"/></proof>
<proof prover="14" edited="genealogy_Genealogy_Sibling_is_brother_or_sister_1.xml"><result status="valid" time="7.50"/></proof> <proof prover="14"><result status="unknown" time="0.02"/></proof>
<proof prover="15"><result status="valid" time="0.04"/></proof> <proof prover="15"><result status="valid" time="0.01"/></proof>
<proof prover="16"><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="17"><result status="valid" time="0.00"/></proof>
<proof prover="18"><result status="valid" time="0.02" steps="9"/></proof> <proof prover="18"><result status="valid" time="0.00"/></proof>
<proof prover="20"><result status="valid" time="0.00"/></proof> <proof prover="20"><result status="valid" time="0.02" steps="9"/></proof>
<proof prover="21"><result status="unknown" time="0.01"/></proof> <proof prover="21"><result status="unknown" time="0.01"/></proof>
<proof prover="22"><result status="valid" time="0.00"/></proof> <proof prover="22"><result status="valid" time="0.00"/></proof>
</goal> </goal>
<goal name="Grandparent_is_grandfather_or_grandmother" expanded="true"> <goal name="Grandparent_is_grandfather_or_grandmother" expanded="true">
<proof prover="1"><result status="valid" time="0.01"/></proof> <proof prover="0"><result status="valid" time="0.01"/></proof>
<proof prover="2"><result status="valid" time="0.01" steps="32"/></proof> <proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="3"><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.01"/></proof> <proof prover="4"><result status="valid" time="0.01" steps="32"/></proof>
<proof prover="5"><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.01"/></proof> <proof prover="6"><result status="valid" time="0.00"/></proof>
<proof prover="7"><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.00"/></proof> <proof prover="9"><result status="valid" time="0.00"/></proof>
<proof prover="10"><result status="valid" time="0.03"/></proof> <proof prover="10"><result status="valid" time="0.00"/></proof>
<proof prover="11"><result status="valid" time="0.00"/></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_Grandparent_is_grandfather_or_grandmother_1.xml"><result status="valid" time="7.57"/></proof>
<proof prover="13"><result status="timeout" time="5.26"/></proof> <proof prover="13"><result status="timeout" time="5.26"/></proof>
<proof prover="14" edited="genealogy_Genealogy_Grandparent_is_grandfather_or_grandmother_1.xml"><result status="valid" time="7.57"/></proof> <proof prover="14"><result status="valid" time="0.04"/></proof>
<proof prover="15"><result status="valid" time="0.07"/></proof> <proof prover="15"><result status="valid" time="0.01"/></proof>
<proof prover="16"><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="17"><result status="valid" time="0.00"/></proof>
<proof prover="18"><result status="valid" time="0.02" steps="32"/></proof> <proof prover="18"><result status="valid" time="0.00"/></proof>
<proof prover="20"><result status="valid" time="0.00"/></proof> <proof prover="20"><result status="valid" time="0.02" steps="32"/></proof>
<proof prover="21"><result status="valid" time="0.00"/></proof> <proof prover="21"><result status="valid" time="0.00"/></proof>
<proof prover="22"><result status="valid" time="0.01"/></proof> <proof prover="22"><result status="valid" time="0.01"/></proof>
</goal> </goal>