Bob is blue. Bob is nice. Bob is red. Erin is cold. Erin is green. Fiona is red. Gary is red. If something is nice then it is cold. If something is cold then it is furry. Nice things are not smart. Red things are green. Red, furry things are green. If something is red and green then it is nice. If Fiona is furry and Fiona is nice then Fiona is not blue.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is green.
("Erin" "is" "green" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Gary is red.
("Gary" "is" "red" "+")
If something is nice then it is cold.
((("something" "is" "nice" "+")) -> ("something" "is" "cold" "+"))
If something is cold then it is furry.
((("something" "is" "cold" "+")) -> ("something" "is" "furry" "+"))
Nice things are not smart.
((("something" "is" "nice" "+")) -> ("something" "is" "smart" "-"))
Red things are green.
((("something" "is" "red" "+")) -> ("something" "is" "green" "+"))
Red, furry things are green.
((("something" "is" "red" "+") ("something" "is" "furry" "+")) -> ("something" "is" "green" "+"))
If something is red and green then it is nice.
((("something" "is" "red" "+") ("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
If Fiona is furry and Fiona is nice then Fiona is not blue.
((("Fiona" "is" "furry" "+") ("Fiona" "is" "nice" "+")) -> ("Fiona" "is" "blue" "-"))
Fiona is red.
True
1
proof
[(triple6)]
("Fiona" "is" "red" "+")
triple6
Erin is not cold.
False
1
inv-proof
[(triple4)]
("Erin" "is" "cold" "-")
triple4
Bob is green.
True
2
proof
[(((triple3) -> rule4) OR ((triple3 ((((triple2) -> rule1)) -> rule2)) -> rule5))]
("Bob" "is" "green" "+")
((triple3) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((triple3 ((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is not cold.
False
2
inv-proof
[(((triple2) -> rule1) OR ((((triple3 ((triple3) -> rule4)) -> rule6)) -> rule1))]
("Bob" "is" "cold" "-")
((triple2) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple3 ((triple3) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Gary is nice.
True
4
proof
[(((triple7 ((triple7) -> rule4)) -> rule6))]
("Gary" "is" "nice" "+")
((triple7 ((triple7) -> (rule4 % int2))) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Bob is not furry.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule2) OR ((((((triple3 ((triple3) -> rule4)) -> rule6)) -> rule1)) -> rule2))]
("Bob" "is" "furry" "-")
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((((triple3 ((triple3) -> (rule4 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Gary is not smart.
True
5
proof
[(((((triple7 ((triple7) -> rule4)) -> rule6)) -> rule3))]
("Gary" "is" "smart" "-")
((((triple7 ((triple7) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Gary is not smart.
("Gary" "is" "smart" "-")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Fiona is smart.
False
5
inv-proof
[(((((triple6 ((triple6) -> rule4)) -> rule6)) -> rule3))]
("Fiona" "is" "smart" "+")
((((triple6 ((triple6) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is not smart.
("Fiona" "is" "smart" "-")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Gary is furry.
True
6
proof
[(((((((triple7 ((triple7) -> rule4)) -> rule6)) -> rule1)) -> rule2))]
("Gary" "is" "furry" "+")
((((((triple7 ((triple7) -> (rule4 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
int4
Fiona is not furry.
False
6
inv-proof
[(((((((triple6 ((triple6) -> rule4)) -> rule6)) -> rule1)) -> rule2))]
("Fiona" "is" "furry" "-")
((((((triple6 ((triple6) -> (rule4 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
int4
Fiona is not blue.
True
11
proof
[(((((((((triple6 ((triple6) -> rule4)) -> rule6)) -> rule1)) -> rule2) ((triple6 ((triple6) -> rule4)) -> rule6)) -> rule7))]
("Fiona" "is" "blue" "-")
((((((((triple6 ((triple6) -> (rule4 % int5))) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule2 % int2)) ((triple6 ((triple6) -> (rule4 % int5))) -> (rule6 % int4))) -> (rule7 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
int5
Fiona is blue.
False
11
inv-proof
[(((((((((triple6 ((triple6) -> rule4)) -> rule6)) -> rule1)) -> rule2) ((triple6 ((triple6) -> rule4)) -> rule6)) -> rule7))]
("Fiona" "is" "blue" "+")
((((((((triple6 ((triple6) -> (rule4 % int5))) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule2 % int2)) ((triple6 ((triple6) -> (rule4 % int5))) -> (rule6 % int4))) -> (rule7 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
int5
Erin is not nice.
Unknown
inv-rconc
[@1: Erin is nice.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "nice" "-")
Erin is red.
Unknown
random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "+")
Gary is not blue.
Unknown
inv-random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "-")
Erin is blue.
Unknown
random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "+")
@0: Bob is blue.[(triple1)] Bob is nice.[(triple2 OR ((triple3 ((triple3) -> rule4)) -> rule6))] Bob is red.[(triple3)] Erin is cold.[(triple4)] Erin is green.[(triple5)] Fiona is red.[(triple6)] Gary is red.[(triple7)] @1: Bob is cold.[(((triple2) -> rule1) OR ((((triple3 ((triple3) -> rule4)) -> rule6)) -> rule1))] Bob is green.[(((triple3) -> rule4) OR ((triple3 ((((triple2) -> rule1)) -> rule2)) -> rule5))] Bob is not smart.[(((triple2) -> rule3) OR ((((triple3 ((triple3) -> rule4)) -> rule6)) -> rule3))] Erin is furry.[(((triple4) -> rule2))] Fiona is green.[(((triple6) -> rule4))] Gary is green.[(((triple7) -> rule4))] @2: Bob is furry.[(((((triple2) -> rule1)) -> rule2) OR ((((((triple3 ((triple3) -> rule4)) -> rule6)) -> rule1)) -> rule2))] Fiona is nice.[(((triple6 ((triple6) -> rule4)) -> rule6))] Gary is nice.[(((triple7 ((triple7) -> rule4)) -> rule6))] @3: Fiona is cold.[(((((triple6 ((triple6) -> rule4)) -> rule6)) -> rule1))] Fiona is not smart.[(((((triple6 ((triple6) -> rule4)) -> rule6)) -> rule3))] Gary is cold.[(((((triple7 ((triple7) -> rule4)) -> rule6)) -> rule1))] Gary is not smart.[(((((triple7 ((triple7) -> rule4)) -> rule6)) -> rule3))] @4: Fiona is furry.[(((((((triple6 ((triple6) -> rule4)) -> rule6)) -> rule1)) -> rule2))] Gary is furry.[(((((((triple7 ((triple7) -> rule4)) -> rule6)) -> rule1)) -> rule2))] @5: Fiona is not blue.[(((((((((triple6 ((triple6) -> rule4)) -> rule6)) -> rule1)) -> rule2) ((triple6 ((triple6) -> rule4)) -> rule6)) -> rule7))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
((triple3 ((triple3) -> (rule4 % int2))) -> (rule6 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
triple3
Erin is cold.
("Erin" "is" "cold" "+")
triple4
Erin is green.
("Erin" "is" "green" "+")
triple5
Fiona is red.
("Fiona" "is" "red" "+")
triple6
Gary is red.
("Gary" "is" "red" "+")
triple7
Bob is cold.
("Bob" "is" "cold" "+")
((triple2) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple3 ((triple3) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
((triple3) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((triple3 ((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is not smart.
("Bob" "is" "smart" "-")
((triple2) -> (rule3 % int1))
Bob is not smart.
("Bob" "is" "smart" "-")
int1
((((triple3 ((triple3) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Bob is not smart.
("Bob" "is" "smart" "-")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
((triple4) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple6) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((triple7) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((((triple3 ((triple3) -> (rule4 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple6 ((triple6) -> (rule4 % int2))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((triple7 ((triple7) -> (rule4 % int2))) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple6 ((triple6) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is not smart.
("Fiona" "is" "smart" "-")
((((triple6 ((triple6) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is not smart.
("Fiona" "is" "smart" "-")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
((((triple7 ((triple7) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is not smart.
("Gary" "is" "smart" "-")
((((triple7 ((triple7) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Gary is not smart.
("Gary" "is" "smart" "-")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((((((triple6 ((triple6) -> (rule4 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
int4
Gary is furry.
("Gary" "is" "furry" "+")
((((((triple7 ((triple7) -> (rule4 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
int4
Fiona is not blue.
("Fiona" "is" "blue" "-")
((((((((triple6 ((triple6) -> (rule4 % int5))) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule2 % int2)) ((triple6 ((triple6) -> (rule4 % int5))) -> (rule6 % int4))) -> (rule7 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
int5