Dave is big. Dave is red. Dave is round. Fiona is green. Fiona is rough. Fiona is round. Gary is big. Gary is quiet. Gary is rough. Harry is big. If someone is big then they are young. If someone is young and big then they are red. If someone is young and rough then they are quiet. If Fiona is quiet then Fiona is big. All big people are young. If Gary is rough then Gary is green. If Harry is quiet and Harry is young then Harry is round. All green people are young.
Dave is big.
("Dave" "is" "big" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Harry is big.
("Harry" "is" "big" "+")
If someone is big then they are young.
((("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
If someone is young and big then they are red.
((("someone" "is" "young" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "red" "+"))
If someone is young and rough then they are quiet.
((("someone" "is" "young" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "quiet" "+"))
If Fiona is quiet then Fiona is big.
((("Fiona" "is" "quiet" "+")) -> ("Fiona" "is" "big" "+"))
All big people are young.
((("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
If Gary is rough then Gary is green.
((("Gary" "is" "rough" "+")) -> ("Gary" "is" "green" "+"))
If Harry is quiet and Harry is young then Harry is round.
((("Harry" "is" "quiet" "+") ("Harry" "is" "young" "+")) -> ("Harry" "is" "round" "+"))
All green people are young.
((("someone" "is" "green" "+")) -> ("someone" "is" "young" "+"))
Fiona is green.
True
1
proof
[(triple4)]
("Fiona" "is" "green" "+")
triple4
Gary is not quiet.
False
1
inv-proof
[(triple8 OR ((((triple7) -> rule1) triple9) -> rule3) OR ((((triple7) -> rule5) triple9) -> rule3) OR ((((((triple9) -> rule6)) -> rule8) triple9) -> rule3))]
("Gary" "is" "quiet" "-")
triple8
((((triple7) -> (rule1 % int2)) triple9) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((triple7) -> (rule5 % int2)) triple9) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((((triple9) -> (rule6 % int3))) -> (rule8 % int2)) triple9) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is green.
True
2
proof
[(((triple9) -> rule6))]
("Gary" "is" "green" "+")
((triple9) -> (rule6 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Fiona is not young.
False
2
inv-proof
[(((triple4) -> rule8))]
("Fiona" "is" "young" "-")
((triple4) -> (rule8 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Harry is red.
True
4
proof
[(((((triple10) -> rule1) triple10) -> rule2) OR ((((triple10) -> rule5) triple10) -> rule2))]
("Harry" "is" "red" "+")
((((triple10) -> (rule1 % int2)) triple10) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((triple10) -> (rule5 % int2)) triple10) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Gary is not red.
False
4
inv-proof
[(((((triple7) -> rule1) triple7) -> rule2) OR ((((triple7) -> rule5) triple7) -> rule2) OR ((((((triple9) -> rule6)) -> rule8) triple7) -> rule2))]
("Gary" "is" "red" "-")
((((triple7) -> (rule1 % int2)) triple7) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((triple7) -> (rule5 % int2)) triple7) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((((triple9) -> (rule6 % int3))) -> (rule8 % int2)) triple7) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Fiona is big.
True
5
proof
[(((((((triple4) -> rule8) triple5) -> rule3)) -> rule4))]
("Fiona" "is" "big" "+")
((((((triple4) -> (rule8 % int3)) triple5) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is not big.
False
5
inv-proof
[(((((((triple4) -> rule8) triple5) -> rule3)) -> rule4))]
("Fiona" "is" "big" "-")
((((((triple4) -> (rule8 % int3)) triple5) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Harry is not quiet.
Unknown
inv-rconc
[@1: Harry is quiet.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "quiet" "-")
Dave is quiet.
Unknown
rconc
[@1: Dave is quiet.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Dave" "is" "quiet" "+")
Harry is not round.
Unknown
inv-rconc
[@2: Harry is round.[CWA. Example of deepest failure = (rule7 <- rule3 <- FAIL)]]
("Harry" "is" "round" "-")
Dave is green.
Unknown
random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "+")
Harry is not rough.
Unknown
inv-random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "-")
Gary is round.
Unknown
random
[@0: Gary is round.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "round" "+")
Dave is not rough.
Unknown
inv-random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "-")
Harry is green.
Unknown
random
[@0: Harry is green.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "green" "+")
@0: Dave is big.[(triple1)] Dave is red.[(triple2 OR ((((triple1) -> rule1) triple1) -> rule2) OR ((((triple1) -> rule5) triple1) -> rule2))] Dave is round.[(triple3)] Fiona is green.[(triple4)] Fiona is rough.[(triple5)] Fiona is round.[(triple6)] Gary is big.[(triple7)] Gary is quiet.[(triple8 OR ((((triple7) -> rule1) triple9) -> rule3) OR ((((triple7) -> rule5) triple9) -> rule3) OR ((((((triple9) -> rule6)) -> rule8) triple9) -> rule3))] Gary is rough.[(triple9)] Harry is big.[(triple10)] @1: Dave is young.[(((triple1) -> rule1) OR ((triple1) -> rule5))] Fiona is young.[(((triple4) -> rule8))] Gary is green.[(((triple9) -> rule6))] Gary is young.[(((triple7) -> rule1) OR ((triple7) -> rule5) OR ((((triple9) -> rule6)) -> rule8))] Harry is young.[(((triple10) -> rule1) OR ((triple10) -> rule5))] @2: Fiona is quiet.[(((((triple4) -> rule8) triple5) -> rule3))] Gary is red.[(((((triple7) -> rule1) triple7) -> rule2) OR ((((triple7) -> rule5) triple7) -> rule2) OR ((((((triple9) -> rule6)) -> rule8) triple7) -> rule2))] Harry is red.[(((((triple10) -> rule1) triple10) -> rule2) OR ((((triple10) -> rule5) triple10) -> rule2))] @3: Fiona is big.[(((((((triple4) -> rule8) triple5) -> rule3)) -> rule4))] @4: Fiona is red.[(((((triple4) -> rule8) ((((((triple4) -> rule8) triple5) -> rule3)) -> rule4)) -> rule2))]
Dave is big.
("Dave" "is" "big" "+")
triple1
Dave is red.
("Dave" "is" "red" "+")
triple2
((((triple1) -> (rule1 % int2)) triple1) -> (rule2 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((triple1) -> (rule5 % int2)) triple1) -> (rule2 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
triple3
Fiona is green.
("Fiona" "is" "green" "+")
triple4
Fiona is rough.
("Fiona" "is" "rough" "+")
triple5
Fiona is round.
("Fiona" "is" "round" "+")
triple6
Gary is big.
("Gary" "is" "big" "+")
triple7
Gary is quiet.
("Gary" "is" "quiet" "+")
triple8
((((triple7) -> (rule1 % int2)) triple9) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((triple7) -> (rule5 % int2)) triple9) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((((triple9) -> (rule6 % int3))) -> (rule8 % int2)) triple9) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
triple9
Harry is big.
("Harry" "is" "big" "+")
triple10
Dave is young.
("Dave" "is" "young" "+")
((triple1) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((triple1) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple4) -> (rule8 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((triple9) -> (rule6 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
((triple7) -> (rule1 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((triple7) -> (rule5 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((((triple9) -> (rule6 % int2))) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
((triple10) -> (rule1 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((triple10) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((((triple4) -> (rule8 % int2)) triple5) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((((triple7) -> (rule1 % int2)) triple7) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((triple7) -> (rule5 % int2)) triple7) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((((triple9) -> (rule6 % int3))) -> (rule8 % int2)) triple7) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
((((triple10) -> (rule1 % int2)) triple10) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((triple10) -> (rule5 % int2)) triple10) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
((((((triple4) -> (rule8 % int3)) triple5) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
((((triple4) -> (rule8 % int4)) ((((((triple4) -> (rule8 % int4)) triple5) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4