Bob is big. Bob is round. Bob is smart. Fiona is green. Harry is rough. Harry is round. Harry is smart. All rough, round things are big. If Bob is blue then Bob is cold. If something is smart and cold then it is big. If something is blue then it is rough. All rough, big things are blue. If something is big and rough then it is cold.
Bob is big.
("Bob" "is" "big" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is smart.
("Harry" "is" "smart" "+")
All rough, round things are big.
((("something" "is" "rough" "+") ("something" "is" "round" "+")) -> ("something" "is" "big" "+"))
If Bob is blue then Bob is cold.
((("Bob" "is" "blue" "+")) -> ("Bob" "is" "cold" "+"))
If something is smart and cold then it is big.
((("something" "is" "smart" "+") ("something" "is" "cold" "+")) -> ("something" "is" "big" "+"))
If something is blue then it is rough.
((("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
All rough, big things are blue.
((("something" "is" "rough" "+") ("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
If something is big and rough then it is cold.
((("something" "is" "big" "+") ("something" "is" "rough" "+")) -> ("something" "is" "cold" "+"))
Bob is round.
True
1
proof
[(triple2)]
("Bob" "is" "round" "+")
triple2
Bob is not round.
False
1
inv-proof
[(triple2)]
("Bob" "is" "round" "-")
triple2
Harry is big.
True
3
proof
[(((triple5 triple6) -> rule1))]
("Harry" "is" "big" "+")
((triple5 triple6) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is not big.
False
3
inv-proof
[(((triple5 triple6) -> rule1))]
("Harry" "is" "big" "-")
((triple5 triple6) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Fiona is not cold.
Unknown
inv-rconc
[@2: Fiona is cold.[CWA. Example of deepest failure = (rule6 <- rule1 <- FAIL)]]
("Fiona" "is" "cold" "-")
Bob is rough.
Unknown
rconc
[@2: Bob is rough.[CWA. Example of deepest failure = (rule4 <- rule5 <- FAIL)]]
("Bob" "is" "rough" "+")
Harry is not green.
Unknown
inv-random
[@0: Harry is green.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "green" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
@0: Bob is big.[(triple1)] Bob is round.[(triple2)] Bob is smart.[(triple3)] Fiona is green.[(triple4)] Harry is rough.[(triple5)] Harry is round.[(triple6)] Harry is smart.[(triple7)] @1: Harry is big.[(((triple5 triple6) -> rule1))] @2: Harry is blue.[(((triple5 ((triple5 triple6) -> rule1)) -> rule5))] Harry is cold.[(((((triple5 triple6) -> rule1) triple5) -> rule6))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is round.
("Bob" "is" "round" "+")
triple2
Bob is smart.
("Bob" "is" "smart" "+")
triple3
Fiona is green.
("Fiona" "is" "green" "+")
triple4
Harry is rough.
("Harry" "is" "rough" "+")
triple5
Harry is round.
("Harry" "is" "round" "+")
triple6
Harry is smart.
("Harry" "is" "smart" "+")
triple7
Harry is big.
("Harry" "is" "big" "+")
((triple5 triple6) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple5 ((triple5 triple6) -> (rule1 % int2))) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
((((triple5 triple6) -> (rule1 % int2)) triple5) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2