Anne is blue. Anne is cold. Anne is furry. Anne is nice. Bob is not furry. Bob is green. Bob is young. Erin is not cold. Erin is not furry. Erin is not green. Erin is nice. Erin is not young. Fiona is green. Fiona is nice. Fiona is round. All blue people are cold. If someone is round and young then they are blue. If someone is furry then they are blue. Furry people are blue. If someone is young and furry then they are nice. If Fiona is nice then Fiona is young. Blue, cold people are furry. All blue people are green.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Bob is not furry.
("Bob" "is" "furry" "-")
Bob is green.
("Bob" "is" "green" "+")
Bob is young.
("Bob" "is" "young" "+")
Erin is not cold.
("Erin" "is" "cold" "-")
Erin is not furry.
("Erin" "is" "furry" "-")
Erin is not green.
("Erin" "is" "green" "-")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is not young.
("Erin" "is" "young" "-")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is round.
("Fiona" "is" "round" "+")
All blue people are cold.
((("someone" "is" "blue" "+")) -> ("someone" "is" "cold" "+"))
If someone is round and young then they are blue.
((("someone" "is" "round" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "blue" "+"))
If someone is furry then they are blue.
((("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
Furry people are blue.
((("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
If someone is young and furry then they are nice.
((("someone" "is" "young" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
If Fiona is nice then Fiona is young.
((("Fiona" "is" "nice" "+")) -> ("Fiona" "is" "young" "+"))
Blue, cold people are furry.
((("someone" "is" "blue" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
All blue people are green.
((("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
Anne is furry.
True
1
proof
[(triple3 OR ((triple1 triple2) -> rule7) OR ((triple1 ((triple1) -> rule1)) -> rule7))]
("Anne" "is" "furry" "+")
triple3
((triple1 triple2) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple1 ((triple1) -> (rule1 % int2))) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is not nice.
False
1
inv-proof
[(triple4)]
("Anne" "is" "nice" "-")
triple4
Fiona is young.
True
2
proof
[(((triple14) -> rule6))]
("Fiona" "is" "young" "+")
((triple14) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is not young.
False
2
inv-proof
[(((triple14) -> rule6))]
("Fiona" "is" "young" "-")
((triple14) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is blue.
True
4
proof
[(((triple15 ((triple14) -> rule6)) -> rule2))]
("Fiona" "is" "blue" "+")
((triple15 ((triple14) -> (rule6 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is not blue.
False
4
inv-proof
[(((triple15 ((triple14) -> rule6)) -> rule2))]
("Fiona" "is" "blue" "-")
((triple15 ((triple14) -> (rule6 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is cold.
True
5
proof
[(((((triple15 ((triple14) -> rule6)) -> rule2)) -> rule1))]
("Fiona" "is" "cold" "+")
((((triple15 ((triple14) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is not cold.
False
5
inv-proof
[(((((triple15 ((triple14) -> rule6)) -> rule2)) -> rule1))]
("Fiona" "is" "cold" "-")
((((triple15 ((triple14) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Bob is not cold.
Unknown
inv-rconc
[@2: Bob is cold.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Bob" "is" "cold" "-")
Bob is nice.
Unknown
rconc
[@1: Bob is nice.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "nice" "+")
Erin is not blue.
Unknown
inv-rconc
[@1: Erin is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "blue" "-")
Bob is blue.
Unknown
rconc
[@1: Bob is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "blue" "+")
Erin is not round.
Unknown
inv-random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "-")
Anne is young.
Unknown
random
[@0: Anne is young.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "young" "+")
Anne is not round.
Unknown
inv-random
[@0: Anne is round.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "round" "-")
Bob is round.
Unknown
random
[@0: Bob is round.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "round" "+")
@0: Anne is blue.[(triple1 OR ((triple3) -> rule3) OR ((triple3) -> rule4))] Anne is cold.[(triple2 OR ((triple1) -> rule1) OR ((((triple3) -> rule3)) -> rule1) OR ((((triple3) -> rule4)) -> rule1))] Anne is furry.[(triple3 OR ((triple1 triple2) -> rule7) OR ((triple1 ((triple1) -> rule1)) -> rule7))] Anne is nice.[(triple4)] Bob is green.[(triple6)] Bob is not furry.[(triple5)] Bob is young.[(triple7)] Erin is nice.[(triple11)] Erin is not cold.[(triple8)] Erin is not furry.[(triple9)] Erin is not green.[(triple10)] Erin is not young.[(triple12)] Fiona is green.[(triple13 OR ((((triple15 ((triple14) -> rule6)) -> rule2)) -> rule8))] Fiona is nice.[(triple14)] Fiona is round.[(triple15)] @1: Anne is green.[(((triple1) -> rule8) OR ((((triple3) -> rule3)) -> rule8) OR ((((triple3) -> rule4)) -> rule8))] Fiona is young.[(((triple14) -> rule6))] @2: Fiona is blue.[(((triple15 ((triple14) -> rule6)) -> rule2))] @3: Fiona is cold.[(((((triple15 ((triple14) -> rule6)) -> rule2)) -> rule1))] @4: Fiona is furry.[(((((triple15 ((triple14) -> rule6)) -> rule2) ((((triple15 ((triple14) -> rule6)) -> rule2)) -> rule1)) -> rule7))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((triple3) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple3) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
triple2
((triple1) -> (rule1 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
((((triple3) -> (rule3 % int2))) -> (rule1 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple3) -> (rule4 % int2))) -> (rule1 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
triple3
((triple1 triple2) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple1 ((triple1) -> (rule1 % int2))) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
triple4
Bob is green.
("Bob" "is" "green" "+")
triple6
Bob is not furry.
("Bob" "is" "furry" "-")
triple5
Bob is young.
("Bob" "is" "young" "+")
triple7
Erin is nice.
("Erin" "is" "nice" "+")
triple11
Erin is not cold.
("Erin" "is" "cold" "-")
triple8
Erin is not furry.
("Erin" "is" "furry" "-")
triple9
Erin is not green.
("Erin" "is" "green" "-")
triple10
Erin is not young.
("Erin" "is" "young" "-")
triple12
Fiona is green.
("Fiona" "is" "green" "+")
triple13
((((triple15 ((triple14) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
triple14
Fiona is round.
("Fiona" "is" "round" "+")
triple15
Anne is green.
("Anne" "is" "green" "+")
((triple1) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((triple3) -> (rule3 % int2))) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple3) -> (rule4 % int2))) -> (rule8 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
((triple14) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple15 ((triple14) -> (rule6 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple15 ((triple14) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple15 ((triple14) -> (rule6 % int4))) -> (rule2 % int3)) ((((triple15 ((triple14) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4