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