Anne is nice. Bob is furry. Bob is green. Bob is quiet. Bob is young. Charlie is furry. Charlie is quiet. Charlie is young. Fiona is nice. Fiona is quiet. If Fiona is quiet and Fiona is young then Fiona is cold. All green, young people are nice. Green people are furry. If someone is green and young then they are furry. If someone is quiet then they are young. If Fiona is cold then Fiona is nice.
Anne is nice.
("Anne" "is" "nice" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
If Fiona is quiet and Fiona is young then Fiona is cold.
((("Fiona" "is" "quiet" "+") ("Fiona" "is" "young" "+")) -> ("Fiona" "is" "cold" "+"))
All green, young people are nice.
((("someone" "is" "green" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "nice" "+"))
Green people are furry.
((("someone" "is" "green" "+")) -> ("someone" "is" "furry" "+"))
If someone is green and young then they are furry.
((("someone" "is" "green" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "furry" "+"))
If someone is quiet then they are young.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "young" "+"))
If Fiona is cold then Fiona is nice.
((("Fiona" "is" "cold" "+")) -> ("Fiona" "is" "nice" "+"))
Bob is young.
True
1
proof
[(triple5 OR ((triple4) -> rule5))]
("Bob" "is" "young" "+")
triple5
((triple4) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is not green.
False
1
inv-proof
[(triple3)]
("Bob" "is" "green" "-")
triple3
Anne is not furry.
Unknown
inv-rconc
[@1: Anne is furry.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "furry" "-")
Anne is quiet.
Unknown
random
[@0: Anne is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "quiet" "+")
@0: Anne is nice.[(triple1)] Bob is furry.[(triple2 OR ((triple3) -> rule3) OR ((triple3 triple5) -> rule4) OR ((triple3 ((triple4) -> rule5)) -> rule4))] Bob is green.[(triple3)] Bob is quiet.[(triple4)] Bob is young.[(triple5 OR ((triple4) -> rule5))] Charlie is furry.[(triple6)] Charlie is quiet.[(triple7)] Charlie is young.[(triple8 OR ((triple7) -> rule5))] Fiona is nice.[(triple9 OR ((((triple10 ((triple10) -> rule5)) -> rule1)) -> rule6))] Fiona is quiet.[(triple10)] @1: Bob is nice.[(((triple3 triple5) -> rule2) OR ((triple3 ((triple4) -> rule5)) -> rule2))] Fiona is young.[(((triple10) -> rule5))] @2: Fiona is cold.[(((triple10 ((triple10) -> rule5)) -> rule1))]
Anne is nice.
("Anne" "is" "nice" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple3) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple3 triple5) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple3 ((triple4) -> (rule5 % int2))) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
triple3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
Bob is young.
("Bob" "is" "young" "+")
triple5
((triple4) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple6
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple7
Charlie is young.
("Charlie" "is" "young" "+")
triple8
((triple7) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple9
((((triple10 ((triple10) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple10
Bob is nice.
("Bob" "is" "nice" "+")
((triple3 triple5) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((triple3 ((triple4) -> (rule5 % int2))) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
((triple10) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple10 ((triple10) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2