Erin is green. Erin is nice. Erin is round. Erin is white. Fiona is round. Fiona is white. Gary is nice. Gary is round. Harry is furry. Harry is round. Green, cold people are round. Cold people are round. If someone is green then they are cold. If someone is round and white then they are furry. Nice, round people are furry. If someone is furry then they are nice. Round, nice people are cold. Furry, smart people are cold.
Erin is green.
("Erin" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is white.
("Erin" "is" "white" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is round.
("Gary" "is" "round" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is round.
("Harry" "is" "round" "+")
Green, cold people are round.
((("someone" "is" "green" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
Cold people are round.
((("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
If someone is green then they are cold.
((("someone" "is" "green" "+")) -> ("someone" "is" "cold" "+"))
If someone is round and white then they are furry.
((("someone" "is" "round" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
Nice, round people are furry.
((("someone" "is" "nice" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
If someone is furry then they are nice.
((("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
Round, nice people are cold.
((("someone" "is" "round" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "cold" "+"))
Furry, smart people are cold.
((("someone" "is" "furry" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
Harry is round.
True
1
proof
[(triple10)]
("Harry" "is" "round" "+")
triple10
Fiona is not round.
False
1
inv-proof
[(triple5)]
("Fiona" "is" "round" "-")
triple5
Erin is furry.
True
3
proof
[(((triple2 triple3) -> rule5) OR ((triple3 triple4) -> rule4) OR ((triple2 ((((triple1) -> rule3)) -> rule2)) -> rule5) OR ((triple2 ((triple1 ((triple1) -> rule3)) -> rule1)) -> rule5) OR ((((((triple1) -> rule3)) -> rule2) triple4) -> rule4) OR ((((triple1 ((triple1) -> rule3)) -> rule1) triple4) -> rule4))]
("Erin" "is" "furry" "+")
((triple2 triple3) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple3 triple4) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple2 ((((triple1) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((triple2 ((triple1 ((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple1) -> (rule3 % int3))) -> (rule2 % int2)) triple4) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((triple1 ((triple1) -> (rule3 % int3))) -> (rule1 % int2)) triple4) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is not cold.
False
2
inv-proof
[(((triple1) -> rule3) OR ((triple3 triple2) -> rule7) OR ((triple3 ((((triple3 triple4) -> rule4)) -> rule6)) -> rule7))]
("Erin" "is" "cold" "-")
((triple1) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple3 triple2) -> (rule7 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple3 ((((triple3 triple4) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Fiona is nice.
True
4
proof
[(((((triple5 triple6) -> rule4)) -> rule6))]
("Fiona" "is" "nice" "+")
((((triple5 triple6) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not nice.
False
4
inv-proof
[(((((triple5 triple6) -> rule4)) -> rule6))]
("Fiona" "is" "nice" "-")
((((triple5 triple6) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
True
6
proof
[(((triple5 ((((triple5 triple6) -> rule4)) -> rule6)) -> rule7))]
("Fiona" "is" "cold" "+")
((triple5 ((((triple5 triple6) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is not cold.
False
6
inv-proof
[(((triple5 ((((triple5 triple6) -> rule4)) -> rule6)) -> rule7))]
("Fiona" "is" "cold" "-")
((triple5 ((((triple5 triple6) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Harry is not green.
Unknown
inv-random
[@0: Harry is green.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "green" "-")
Gary is white.
Unknown
random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "+")
Fiona is not green.
Unknown
inv-random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "-")
Erin is smart.
Unknown
random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "+")
Harry is not white.
Unknown
inv-random
[@0: Harry is white.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "white" "-")
Harry is smart.
Unknown
random
[@0: Harry is smart.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "smart" "+")
Gary is not smart.
Unknown
inv-random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "-")
Gary is green.
Unknown
random
[@0: Gary is green.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "green" "+")
@0: Erin is green.[(triple1)] Erin is nice.[(triple2 OR ((((triple3 triple4) -> rule4)) -> rule6) OR ((((((((triple1) -> rule3)) -> rule2) triple4) -> rule4)) -> rule6) OR ((((((triple1 ((triple1) -> rule3)) -> rule1) triple4) -> rule4)) -> rule6))] Erin is round.[(triple3 OR ((((triple1) -> rule3)) -> rule2) OR ((triple1 ((triple1) -> rule3)) -> rule1))] Erin is white.[(triple4)] Fiona is round.[(triple5)] Fiona is white.[(triple6)] Gary is nice.[(triple7)] Gary is round.[(triple8)] Harry is furry.[(triple9)] Harry is round.[(triple10)] @1: Erin is cold.[(((triple1) -> rule3) OR ((triple3 triple2) -> rule7) OR ((triple3 ((((triple3 triple4) -> rule4)) -> rule6)) -> rule7))] Erin is furry.[(((triple2 triple3) -> rule5) OR ((triple3 triple4) -> rule4) OR ((triple2 ((((triple1) -> rule3)) -> rule2)) -> rule5) OR ((triple2 ((triple1 ((triple1) -> rule3)) -> rule1)) -> rule5) OR ((((((triple1) -> rule3)) -> rule2) triple4) -> rule4) OR ((((triple1 ((triple1) -> rule3)) -> rule1) triple4) -> rule4))] Fiona is furry.[(((triple5 triple6) -> rule4))] Gary is cold.[(((triple8 triple7) -> rule7))] Gary is furry.[(((triple7 triple8) -> rule5))] Harry is nice.[(((triple9) -> rule6))] @2: Fiona is nice.[(((((triple5 triple6) -> rule4)) -> rule6))] Harry is cold.[(((triple10 ((triple9) -> rule6)) -> rule7))] @3: Fiona is cold.[(((triple5 ((((triple5 triple6) -> rule4)) -> rule6)) -> rule7))]
Erin is green.
("Erin" "is" "green" "+")
triple1
Erin is nice.
("Erin" "is" "nice" "+")
triple2
((((triple3 triple4) -> (rule4 % int2))) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((((((triple1) -> (rule3 % int4))) -> (rule2 % int3)) triple4) -> (rule4 % int2))) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
((((((triple1 ((triple1) -> (rule3 % int4))) -> (rule1 % int3)) triple4) -> (rule4 % int2))) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is round.
("Erin" "is" "round" "+")
triple3
((((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((triple1 ((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
triple4
Fiona is round.
("Fiona" "is" "round" "+")
triple5
Fiona is white.
("Fiona" "is" "white" "+")
triple6
Gary is nice.
("Gary" "is" "nice" "+")
triple7
Gary is round.
("Gary" "is" "round" "+")
triple8
Harry is furry.
("Harry" "is" "furry" "+")
triple9
Harry is round.
("Harry" "is" "round" "+")
triple10
Erin is cold.
("Erin" "is" "cold" "+")
((triple1) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple3 triple2) -> (rule7 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple3 ((((triple3 triple4) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
((triple2 triple3) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple3 triple4) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple2 ((((triple1) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((triple2 ((triple1 ((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple1) -> (rule3 % int3))) -> (rule2 % int2)) triple4) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((triple1 ((triple1) -> (rule3 % int3))) -> (rule1 % int2)) triple4) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple5 triple6) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
((triple8 triple7) -> (rule7 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
((triple7 triple8) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
((triple9) -> (rule6 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple5 triple6) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
((triple10 ((triple9) -> (rule6 % int2))) -> (rule7 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple5 ((((triple5 triple6) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3