Bob is cold. Dave is rough. Fiona is young. Gary is young. All cold things are round. All young things are cold. If something is nice then it is white. If Bob is quiet and Bob is not round then Bob is nice. If something is white then it is rough. All cold, young things are not rough. If something is white and cold then it is rough. If Fiona is quiet and Fiona is not white then Fiona is rough.
Bob is cold.
("Bob" "is" "cold" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is young.
("Gary" "is" "young" "+")
All cold things are round.
((("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
All young things are cold.
((("something" "is" "young" "+")) -> ("something" "is" "cold" "+"))
If something is nice then it is white.
((("something" "is" "nice" "+")) -> ("something" "is" "white" "+"))
If Bob is quiet and Bob is not round then Bob is nice.
((("Bob" "is" "quiet" "+") ("Bob" "is" "round" "~")) -> ("Bob" "is" "nice" "+"))
If something is white then it is rough.
((("something" "is" "white" "+")) -> ("something" "is" "rough" "+"))
All cold, young things are not rough.
((("something" "is" "cold" "+") ("something" "is" "young" "+")) -> ("something" "is" "rough" "-"))
If something is white and cold then it is rough.
((("something" "is" "white" "+") ("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
If Fiona is quiet and Fiona is not white then Fiona is rough.
((("Fiona" "is" "quiet" "+") ("Fiona" "is" "white" "~")) -> ("Fiona" "is" "rough" "+"))
Gary is young.
True
1
proof
[(triple4)]
("Gary" "is" "young" "+")
triple4
Bob is not cold.
False
1
inv-proof
[(triple1)]
("Bob" "is" "cold" "-")
triple1
Dave is not white.
Unknown
inv-rconc
[@1: Dave is white.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Dave" "is" "white" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
@0: Bob is cold.[(triple1)] Dave is rough.[(triple2)] Fiona is young.[(triple3)] Gary is young.[(triple4)] @1: Bob is round.[(((triple1) -> rule1))] Fiona is cold.[(((triple3) -> rule2))] Gary is cold.[(((triple4) -> rule2))] @2: Fiona is not rough.[(((((triple3) -> rule2) triple3) -> rule6))] Fiona is round.[(((((triple3) -> rule2)) -> rule1))] Gary is not rough.[(((((triple4) -> rule2) triple4) -> rule6))] Gary is round.[(((((triple4) -> rule2)) -> rule1))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Dave is rough.
("Dave" "is" "rough" "+")
triple2
Fiona is young.
("Fiona" "is" "young" "+")
triple3
Gary is young.
("Gary" "is" "young" "+")
triple4
Bob is round.
("Bob" "is" "round" "+")
((triple1) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple3) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
((triple4) -> (rule2 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Fiona is not rough.
("Fiona" "is" "rough" "-")
((((triple3) -> (rule2 % int2)) triple3) -> (rule6 % int1))
Fiona is not rough.
("Fiona" "is" "rough" "-")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Gary is not rough.
("Gary" "is" "rough" "-")
((((triple4) -> (rule2 % int2)) triple4) -> (rule6 % int1))
Gary is not rough.
("Gary" "is" "rough" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
((((triple4) -> (rule2 % int2))) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2