Anne is kind. Anne is red. Harry is smart. All smart people are red. If someone is cold and smart then they are blue. Green people are red. If Harry is cold and Harry is smart then Harry is blue. All smart people are blue. All blue people are green. If someone is blue then they are cold. If Harry is red then Harry is kind.
Anne is kind.
("Anne" "is" "kind" "+")
Anne is red.
("Anne" "is" "red" "+")
Harry is smart.
("Harry" "is" "smart" "+")
All smart people are red.
((("someone" "is" "smart" "+")) -> ("someone" "is" "red" "+"))
If someone is cold and smart then they are blue.
((("someone" "is" "cold" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
Green people are red.
((("someone" "is" "green" "+")) -> ("someone" "is" "red" "+"))
If Harry is cold and Harry is smart then Harry is blue.
((("Harry" "is" "cold" "+") ("Harry" "is" "smart" "+")) -> ("Harry" "is" "blue" "+"))
All smart people are blue.
((("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
All blue people are green.
((("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
If someone is blue then they are cold.
((("someone" "is" "blue" "+")) -> ("someone" "is" "cold" "+"))
If Harry is red then Harry is kind.
((("Harry" "is" "red" "+")) -> ("Harry" "is" "kind" "+"))
Anne is kind.
True
1
proof
[(triple1)]
("Anne" "is" "kind" "+")
triple1
Anne is not red.
False
1
inv-proof
[(triple2)]
("Anne" "is" "red" "-")
triple2
Harry is red.
True
2
proof
[(((triple3) -> rule1) OR ((((((triple3) -> rule5)) -> rule6)) -> rule3))]
("Harry" "is" "red" "+")
((triple3) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((((((triple3) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is not blue.
False
2
inv-proof
[(((triple3) -> rule5))]
("Harry" "is" "blue" "-")
((triple3) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is green.
True
3
proof
[(((((triple3) -> rule5)) -> rule6))]
("Harry" "is" "green" "+")
((((triple3) -> (rule5 % int2))) -> (rule6 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is not green.
False
3
inv-proof
[(((((triple3) -> rule5)) -> rule6))]
("Harry" "is" "green" "-")
((((triple3) -> (rule5 % int2))) -> (rule6 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Anne is not blue.
Unknown
inv-rconc
[@1: Anne is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Anne" "is" "blue" "-")
Anne is green.
Unknown
rconc
[@2: Anne is green.[CWA. Example of deepest failure = (rule6 <- rule2 <- FAIL)]]
("Anne" "is" "green" "+")
Anne is not cold.
Unknown
inv-rconc
[@2: Anne is cold.[CWA. Example of deepest failure = (rule7 <- rule2 <- FAIL)]]
("Anne" "is" "cold" "-")
Anne is smart.
Unknown
random
[@0: Anne is smart.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "smart" "+")
Harry is not rough.
Unknown
inv-random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "-")
Anne is rough.
Unknown
random
[@0: Anne is rough.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "rough" "+")
@0: Anne is kind.[(triple1)] Anne is red.[(triple2)] Harry is smart.[(triple3)] @1: Harry is blue.[(((triple3) -> rule5))] Harry is red.[(((triple3) -> rule1) OR ((((((triple3) -> rule5)) -> rule6)) -> rule3))] @2: Harry is cold.[(((((triple3) -> rule5)) -> rule7))] Harry is green.[(((((triple3) -> rule5)) -> rule6))] Harry is kind.[(((((triple3) -> rule1)) -> rule8) OR ((((((((triple3) -> rule5)) -> rule6)) -> rule3)) -> rule8))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Anne is red.
("Anne" "is" "red" "+")
triple2
Harry is smart.
("Harry" "is" "smart" "+")
triple3
Harry is blue.
("Harry" "is" "blue" "+")
((triple3) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
((triple3) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((((((triple3) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
((((triple3) -> (rule5 % int2))) -> (rule7 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
((((triple3) -> (rule5 % int2))) -> (rule6 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
((((triple3) -> (rule1 % int2))) -> (rule8 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
((((((((triple3) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4