Dave is young. Fiona is red. Fiona is round. Fiona is white. Harry is blue. Harry is red. Harry is rough. Rough, blue people are red. All rough, round people are furry. Red, round people are white. Blue, rough people are young. All round people are rough. White people are young. Furry people are blue. Rough people are white.
Dave is young.
("Dave" "is" "young" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Rough, blue people are red.
((("someone" "is" "rough" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "red" "+"))
All rough, round people are furry.
((("someone" "is" "rough" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
Red, round people are white.
((("someone" "is" "red" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "white" "+"))
Blue, rough people are young.
((("someone" "is" "blue" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "young" "+"))
All round people are rough.
((("someone" "is" "round" "+")) -> ("someone" "is" "rough" "+"))
White people are young.
((("someone" "is" "white" "+")) -> ("someone" "is" "young" "+"))
Furry people are blue.
((("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
Rough people are white.
((("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
Fiona is red.
True
1
proof
[(triple2 OR ((((triple3) -> rule5) ((((((triple3) -> rule5) triple3) -> rule2)) -> rule7)) -> rule1))]
("Fiona" "is" "red" "+")
triple2
((((triple3) -> (rule5 % int4)) ((((((triple3) -> (rule5 % int4)) triple3) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
Harry is not red.
False
1
inv-proof
[(triple6 OR ((triple7 triple5) -> rule1))]
("Harry" "is" "red" "-")
triple6
((triple7 triple5) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is young.
True
3
proof
[(((triple5 triple7) -> rule4) OR ((((triple7) -> rule8)) -> rule6))]
("Harry" "is" "young" "+")
((triple5 triple7) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((((triple7) -> (rule8 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is not young.
False
3
inv-proof
[(((triple5 triple7) -> rule4) OR ((((triple7) -> rule8)) -> rule6))]
("Harry" "is" "young" "-")
((triple5 triple7) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((((triple7) -> (rule8 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Dave is not rough.
Unknown
inv-rconc
[@1: Dave is rough.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Dave" "is" "rough" "-")
Harry is furry.
Unknown
rconc
[@1: Harry is furry.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "furry" "+")
Harry is not round.
Unknown
inv-random
[@0: Harry is round.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "round" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
@0: Dave is young.[(triple1)] Fiona is red.[(triple2 OR ((((triple3) -> rule5) ((((((triple3) -> rule5) triple3) -> rule2)) -> rule7)) -> rule1))] Fiona is round.[(triple3)] Fiona is white.[(triple4 OR ((triple2 triple3) -> rule3) OR ((((triple3) -> rule5)) -> rule8) OR ((((((triple3) -> rule5) ((((((triple3) -> rule5) triple3) -> rule2)) -> rule7)) -> rule1) triple3) -> rule3))] Harry is blue.[(triple5)] Harry is red.[(triple6 OR ((triple7 triple5) -> rule1))] Harry is rough.[(triple7)] @1: Fiona is rough.[(((triple3) -> rule5))] Fiona is young.[(((triple4) -> rule6) OR ((((triple2 triple3) -> rule3)) -> rule6) OR ((((((triple3) -> rule5)) -> rule8)) -> rule6) OR ((((((((triple3) -> rule5) triple3) -> rule2)) -> rule7) ((triple3) -> rule5)) -> rule4) OR ((((((((triple3) -> rule5) ((((((triple3) -> rule5) triple3) -> rule2)) -> rule7)) -> rule1) triple3) -> rule3)) -> rule6))] Harry is white.[(((triple7) -> rule8))] Harry is young.[(((triple5 triple7) -> rule4) OR ((((triple7) -> rule8)) -> rule6))] @2: Fiona is furry.[(((((triple3) -> rule5) triple3) -> rule2))] @3: Fiona is blue.[(((((((triple3) -> rule5) triple3) -> rule2)) -> rule7))]
Dave is young.
("Dave" "is" "young" "+")
triple1
Fiona is red.
("Fiona" "is" "red" "+")
triple2
((((triple3) -> (rule5 % int4)) ((((((triple3) -> (rule5 % int4)) triple3) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
Fiona is round.
("Fiona" "is" "round" "+")
triple3
Fiona is white.
("Fiona" "is" "white" "+")
triple4
((triple2 triple3) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((((triple3) -> (rule5 % int5)) ((((((triple3) -> (rule5 % int5)) triple3) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule1 % int2)) triple3) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
int5
Harry is blue.
("Harry" "is" "blue" "+")
triple5
Harry is red.
("Harry" "is" "red" "+")
triple6
((triple7 triple5) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
triple7
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple3) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple4) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple2 triple3) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((((triple3) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((((triple3) -> (rule5 % int4)) triple3) -> (rule2 % int3))) -> (rule7 % int2)) ((triple3) -> (rule5 % int4))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
((((((((triple3) -> (rule5 % int6)) ((((((triple3) -> (rule5 % int6)) triple3) -> (rule2 % int5))) -> (rule7 % int4))) -> (rule1 % int3)) triple3) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is furry.
("Fiona" "is" "furry" "+")
int5
Fiona is rough.
("Fiona" "is" "rough" "+")
int6
Harry is white.
("Harry" "is" "white" "+")
((triple7) -> (rule8 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
((triple5 triple7) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((((triple7) -> (rule8 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple3) -> (rule5 % int2)) triple3) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((((((triple3) -> (rule5 % int3)) triple3) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3