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