Bob is young. Charlie is furry. Charlie is red. Charlie is rough. Fiona is cold. Fiona is quiet. Fiona is not red. Fiona is rough. Fiona is young. Gary is cold. Gary is kind. Gary is quiet. Gary is not red. Gary is rough. Gary is young. If Charlie is quiet and Charlie is red then Charlie is rough. Rough things are kind. Kind, red things are quiet. If something is kind and not red then it is cold. If something is quiet and not kind then it is cold. If something is cold and not kind then it is furry. All quiet things are furry. Furry things are young.
Bob is young.
("Bob" "is" "young" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is not red.
("Fiona" "is" "red" "-")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is not red.
("Gary" "is" "red" "-")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is young.
("Gary" "is" "young" "+")
If Charlie is quiet and Charlie is red then Charlie is rough.
((("Charlie" "is" "quiet" "+") ("Charlie" "is" "red" "+")) -> ("Charlie" "is" "rough" "+"))
Rough things are kind.
((("something" "is" "rough" "+")) -> ("something" "is" "kind" "+"))
Kind, red things are quiet.
((("something" "is" "kind" "+") ("something" "is" "red" "+")) -> ("something" "is" "quiet" "+"))
If something is kind and not red then it is cold.
((("something" "is" "kind" "+") ("something" "is" "red" "~")) -> ("something" "is" "cold" "+"))
If something is quiet and not kind then it is cold.
((("something" "is" "quiet" "+") ("something" "is" "kind" "~")) -> ("something" "is" "cold" "+"))
If something is cold and not kind then it is furry.
((("something" "is" "cold" "+") ("something" "is" "kind" "~")) -> ("something" "is" "furry" "+"))
All quiet things are furry.
((("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
Furry things are young.
((("something" "is" "furry" "+")) -> ("something" "is" "young" "+"))
Fiona is not red.
True
1
proof
[(triple7)]
("Fiona" "is" "red" "-")
triple7
Charlie is not rough.
False
1
inv-proof
[(triple4)]
("Charlie" "is" "rough" "-")
triple4
Fiona is kind.
True
2
proof
[(((triple8) -> rule2))]
("Fiona" "is" "kind" "+")
((triple8) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Gary is not furry.
False
2
inv-proof
[(((triple12) -> rule7))]
("Gary" "is" "furry" "-")
((triple12) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Bob is not cold.
Unknown
inv-rconc
[@1: Bob is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Bob" "is" "cold" "-")
Bob is furry.
Unknown
rconc
[@2: Bob is furry.[CWA. Example of deepest failure = (rule7 <- rule3 <- FAIL)]]
("Bob" "is" "furry" "+")
Bob is not rough.
Unknown
inv-random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
@0: Bob is young.[(triple1)] Charlie is furry.[(triple2 OR ((((((triple4) -> rule2) triple3) -> rule3)) -> rule7))] Charlie is red.[(triple3)] Charlie is rough.[(triple4)] Fiona is cold.[(triple5 OR ((((triple8) -> rule2) triple7) -> rule4))] Fiona is not red.[(triple7)] Fiona is quiet.[(triple6)] Fiona is rough.[(triple8)] Fiona is young.[(triple9 OR ((((triple6) -> rule7)) -> rule8))] Gary is cold.[(triple10 OR ((triple11 triple13) -> rule4) OR ((((triple14) -> rule2) triple13) -> rule4))] Gary is kind.[(triple11 OR ((triple14) -> rule2))] Gary is not red.[(triple13)] Gary is quiet.[(triple12)] Gary is rough.[(triple14)] Gary is young.[(triple15 OR ((((triple12) -> rule7)) -> rule8))] @1: Charlie is kind.[(((triple4) -> rule2))] Charlie is young.[(((triple2) -> rule8) OR ((((((((triple4) -> rule2) triple3) -> rule3)) -> rule7)) -> rule8))] Fiona is furry.[(((triple6) -> rule7))] Fiona is kind.[(((triple8) -> rule2))] Gary is furry.[(((triple12) -> rule7))] @2: Charlie is quiet.[(((((triple4) -> rule2) triple3) -> rule3))]
Bob is young.
("Bob" "is" "young" "+")
triple1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
((((((triple4) -> (rule2 % int3)) triple3) -> (rule3 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
triple3
Charlie is rough.
("Charlie" "is" "rough" "+")
triple4
Fiona is cold.
("Fiona" "is" "cold" "+")
triple5
((((triple8) -> (rule2 % int2)) triple7) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is not red.
("Fiona" "is" "red" "-")
triple7
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple6
Fiona is rough.
("Fiona" "is" "rough" "+")
triple8
Fiona is young.
("Fiona" "is" "young" "+")
triple9
((((triple6) -> (rule7 % int2))) -> (rule8 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
triple10
((triple11 triple13) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((((triple14) -> (rule2 % int2)) triple13) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
triple11
((triple14) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is not red.
("Gary" "is" "red" "-")
triple13
Gary is quiet.
("Gary" "is" "quiet" "+")
triple12
Gary is rough.
("Gary" "is" "rough" "+")
triple14
Gary is young.
("Gary" "is" "young" "+")
triple15
((((triple12) -> (rule7 % int2))) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple4) -> (rule2 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((triple2) -> (rule8 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((((((triple4) -> (rule2 % int4)) triple3) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule8 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple6) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple8) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
((triple12) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((((triple4) -> (rule2 % int2)) triple3) -> (rule3 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2