Bob is rough. Fiona is kind. Fiona is round. If someone is round and furry then they are rough. If Fiona is young and Fiona is round then Fiona is kind. All kind people are young. Furry people are red. All rough people are red. Round people are furry.
Bob is rough.
("Bob" "is" "rough" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is round.
("Fiona" "is" "round" "+")
If someone is round and furry then they are rough.
((("someone" "is" "round" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "rough" "+"))
If Fiona is young and Fiona is round then Fiona is kind.
((("Fiona" "is" "young" "+") ("Fiona" "is" "round" "+")) -> ("Fiona" "is" "kind" "+"))
All kind people are young.
((("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
Furry people are red.
((("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
All rough people are red.
((("someone" "is" "rough" "+")) -> ("someone" "is" "red" "+"))
Round people are furry.
((("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
Fiona is round.
True
1
proof
[(triple3)]
("Fiona" "is" "round" "+")
triple3
Fiona is not round.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "round" "-")
triple3
Fiona is young.
True
2
proof
[(((triple2) -> rule3))]
("Fiona" "is" "young" "+")
((triple2) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Bob is not red.
False
2
inv-proof
[(((triple1) -> rule5))]
("Bob" "is" "red" "-")
((triple1) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Fiona is rough.
True
4
proof
[(((triple3 ((triple3) -> rule6)) -> rule1))]
("Fiona" "is" "rough" "+")
((triple3 ((triple3) -> (rule6 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not red.
False
3
inv-proof
[(((((triple3) -> rule6)) -> rule4) OR ((((triple3 ((triple3) -> rule6)) -> rule1)) -> rule5))]
("Fiona" "is" "red" "-")
((((triple3) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple3 ((triple3) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Bob is not furry.
Unknown
inv-rconc
[@1: Bob is furry.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Bob" "is" "furry" "-")
Bob is young.
Unknown
rconc
[@1: Bob is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "young" "+")
Bob is not kind.
Unknown
inv-random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "-")
Bob is round.
Unknown
random
[@0: Bob is round.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "round" "+")
Fiona is not white.
Unknown
inv-random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "-")
Bob is white.
Unknown
random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "+")
@0: Bob is rough.[(triple1)] Fiona is kind.[(triple2)] Fiona is round.[(triple3)] @1: Bob is red.[(((triple1) -> rule5))] Fiona is furry.[(((triple3) -> rule6))] Fiona is young.[(((triple2) -> rule3))] @2: Fiona is red.[(((((triple3) -> rule6)) -> rule4) OR ((((triple3 ((triple3) -> rule6)) -> rule1)) -> rule5))] Fiona is rough.[(((triple3 ((triple3) -> rule6)) -> rule1))]
Bob is rough.
("Bob" "is" "rough" "+")
triple1
Fiona is kind.
("Fiona" "is" "kind" "+")
triple2
Fiona is round.
("Fiona" "is" "round" "+")
triple3
Bob is red.
("Bob" "is" "red" "+")
((triple1) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple3) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple2) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((((triple3) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple3 ((triple3) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple3 ((triple3) -> (rule6 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2