Anne is cold. Anne is round. Bob is cold. Bob is round. Bob is smart. Bob is young. Fiona is cold. Fiona is red. Fiona is rough. Fiona is smart. Fiona is young. Harry is red. Smart, young things are red. If Anne is kind then Anne is rough. All kind things are round. If something is red then it is smart. Young, rough things are kind. If something is round and kind then it is cold.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is round.
("Anne" "is" "round" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is red.
("Harry" "is" "red" "+")
Smart, young things are red.
((("something" "is" "smart" "+") ("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
If Anne is kind then Anne is rough.
((("Anne" "is" "kind" "+")) -> ("Anne" "is" "rough" "+"))
All kind things are round.
((("something" "is" "kind" "+")) -> ("something" "is" "round" "+"))
If something is red then it is smart.
((("something" "is" "red" "+")) -> ("something" "is" "smart" "+"))
Young, rough things are kind.
((("something" "is" "young" "+") ("something" "is" "rough" "+")) -> ("something" "is" "kind" "+"))
If something is round and kind then it is cold.
((("something" "is" "round" "+") ("something" "is" "kind" "+")) -> ("something" "is" "cold" "+"))
Anne is cold.
True
1
proof
[(triple1)]
("Anne" "is" "cold" "+")
triple1
Fiona is not smart.
False
1
inv-proof
[(triple10 OR ((triple8) -> rule4))]
("Fiona" "is" "smart" "-")
triple10
((triple8) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Harry is not cold.
Unknown
inv-rconc
[@2: Harry is cold.[CWA. Example of deepest failure = (rule6 <- rule5 <- FAIL)]]
("Harry" "is" "cold" "-")
Harry is rough.
Unknown
random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "+")
@0: Anne is cold.[(triple1)] Anne is round.[(triple2)] Bob is cold.[(triple3)] Bob is round.[(triple4)] Bob is smart.[(triple5)] Bob is young.[(triple6)] Fiona is cold.[(triple7 OR ((((((triple11 triple9) -> rule5)) -> rule3) ((triple11 triple9) -> rule5)) -> rule6))] Fiona is red.[(triple8 OR ((triple10 triple11) -> rule1))] Fiona is rough.[(triple9)] Fiona is smart.[(triple10 OR ((triple8) -> rule4))] Fiona is young.[(triple11)] Harry is red.[(triple12)] @1: Bob is red.[(((triple5 triple6) -> rule1))] Fiona is kind.[(((triple11 triple9) -> rule5))] Harry is smart.[(((triple12) -> rule4))] @2: Fiona is round.[(((((triple11 triple9) -> rule5)) -> rule3))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is round.
("Anne" "is" "round" "+")
triple2
Bob is cold.
("Bob" "is" "cold" "+")
triple3
Bob is round.
("Bob" "is" "round" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
Bob is young.
("Bob" "is" "young" "+")
triple6
Fiona is cold.
("Fiona" "is" "cold" "+")
triple7
((((((triple11 triple9) -> (rule5 % int3))) -> (rule3 % int2)) ((triple11 triple9) -> (rule5 % int3))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
triple8
((triple10 triple11) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple9
Fiona is smart.
("Fiona" "is" "smart" "+")
triple10
((triple8) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple11
Harry is red.
("Harry" "is" "red" "+")
triple12
Bob is red.
("Bob" "is" "red" "+")
((triple5 triple6) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple11 triple9) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
((triple12) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((((triple11 triple9) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2