Bob is blue. Bob is smart. Erin is green. Erin is nice. Erin is smart. Fiona is blue. Harry is blue. Harry is nice. Harry is rough. Harry is young. Rough, blue things are smart. If Erin is smart and Erin is blue then Erin is young. All green, red things are nice. If something is nice and blue then it is green. Green things are young. Blue things are green. If something is young and blue then it is smart. Smart things are red.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is young.
("Harry" "is" "young" "+")
Rough, blue things are smart.
((("something" "is" "rough" "+") ("something" "is" "blue" "+")) -> ("something" "is" "smart" "+"))
If Erin is smart and Erin is blue then Erin is young.
((("Erin" "is" "smart" "+") ("Erin" "is" "blue" "+")) -> ("Erin" "is" "young" "+"))
All green, red things are nice.
((("something" "is" "green" "+") ("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
If something is nice and blue then it is green.
((("something" "is" "nice" "+") ("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
Green things are young.
((("something" "is" "green" "+")) -> ("something" "is" "young" "+"))
Blue things are green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
If something is young and blue then it is smart.
((("something" "is" "young" "+") ("something" "is" "blue" "+")) -> ("something" "is" "smart" "+"))
Smart things are red.
((("something" "is" "smart" "+")) -> ("something" "is" "red" "+"))
Erin is nice.
True
1
proof
[(triple4 OR ((triple3 ((triple5) -> rule8)) -> rule3))]
("Erin" "is" "nice" "+")
triple4
((triple3 ((triple5) -> (rule8 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is not smart.
False
1
inv-proof
[(triple5)]
("Erin" "is" "smart" "-")
triple5
Harry is green.
True
2
proof
[(((triple7) -> rule6) OR ((triple8 triple7) -> rule4))]
("Harry" "is" "green" "+")
((triple7) -> (rule6 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
((triple8 triple7) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Bob is not red.
False
2
inv-proof
[(((triple2) -> rule8) OR ((((((((triple1) -> rule6)) -> rule5) triple1) -> rule7)) -> rule8))]
("Bob" "is" "red" "-")
((triple2) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((((((triple1) -> (rule6 % int4))) -> (rule5 % int3)) triple1) -> (rule7 % int2))) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Harry is red.
True
4
proof
[(((((triple10 triple7) -> rule7)) -> rule8) OR ((((triple9 triple7) -> rule1)) -> rule8) OR ((((((((triple7) -> rule6)) -> rule5) triple7) -> rule7)) -> rule8) OR ((((((((triple8 triple7) -> rule4)) -> rule5) triple7) -> rule7)) -> rule8))]
("Harry" "is" "red" "+")
((((triple10 triple7) -> (rule7 % int2))) -> (rule8 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((triple9 triple7) -> (rule1 % int2))) -> (rule8 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((((((triple7) -> (rule6 % int4))) -> (rule5 % int3)) triple7) -> (rule7 % int2))) -> (rule8 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
((((((((triple8 triple7) -> (rule4 % int4))) -> (rule5 % int3)) triple7) -> (rule7 % int2))) -> (rule8 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Fiona is not young.
False
3
inv-proof
[(((((triple6) -> rule6)) -> rule5))]
("Fiona" "is" "young" "-")
((((triple6) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is smart.
True
5
proof
[(((((((triple6) -> rule6)) -> rule5) triple6) -> rule7))]
("Fiona" "is" "smart" "+")
((((((triple6) -> (rule6 % int3))) -> (rule5 % int2)) triple6) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is not smart.
False
5
inv-proof
[(((((((triple6) -> rule6)) -> rule5) triple6) -> rule7))]
("Fiona" "is" "smart" "-")
((((((triple6) -> (rule6 % int3))) -> (rule5 % int2)) triple6) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is red.
True
6
proof
[(((((((((triple6) -> rule6)) -> rule5) triple6) -> rule7)) -> rule8))]
("Fiona" "is" "red" "+")
((((((((triple6) -> (rule6 % int4))) -> (rule5 % int3)) triple6) -> (rule7 % int2))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
int4
Fiona is not red.
False
6
inv-proof
[(((((((((triple6) -> rule6)) -> rule5) triple6) -> rule7)) -> rule8))]
("Fiona" "is" "red" "-")
((((((((triple6) -> (rule6 % int4))) -> (rule5 % int3)) triple6) -> (rule7 % int2))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
int4
Fiona is nice.
True
9
proof
[(((((triple6) -> rule6) ((((((((triple6) -> rule6)) -> rule5) triple6) -> rule7)) -> rule8)) -> rule3))]
("Fiona" "is" "nice" "+")
((((triple6) -> (rule6 % int5)) ((((((((triple6) -> (rule6 % int5))) -> (rule5 % int4)) triple6) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
int5
Fiona is not nice.
False
9
inv-proof
[(((((triple6) -> rule6) ((((((((triple6) -> rule6)) -> rule5) triple6) -> rule7)) -> rule8)) -> rule3))]
("Fiona" "is" "nice" "-")
((((triple6) -> (rule6 % int5)) ((((((((triple6) -> (rule6 % int5))) -> (rule5 % int4)) triple6) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
int5
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Erin is rough.
Unknown
random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "+")
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Bob is rough.
Unknown
random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "+")
@0: Bob is blue.[(triple1)] Bob is smart.[(triple2 OR ((((((triple1) -> rule6)) -> rule5) triple1) -> rule7))] Erin is green.[(triple3)] Erin is nice.[(triple4 OR ((triple3 ((triple5) -> rule8)) -> rule3))] Erin is smart.[(triple5)] Fiona is blue.[(triple6)] Harry is blue.[(triple7)] Harry is nice.[(triple8 OR ((((triple7) -> rule6) ((((triple10 triple7) -> rule7)) -> rule8)) -> rule3) OR ((((triple7) -> rule6) ((((triple9 triple7) -> rule1)) -> rule8)) -> rule3) OR ((((triple7) -> rule6) ((((((((triple7) -> rule6)) -> rule5) triple7) -> rule7)) -> rule8)) -> rule3))] Harry is rough.[(triple9)] Harry is young.[(triple10 OR ((((triple7) -> rule6)) -> rule5) OR ((((triple8 triple7) -> rule4)) -> rule5))] @1: Bob is green.[(((triple1) -> rule6))] Bob is red.[(((triple2) -> rule8) OR ((((((((triple1) -> rule6)) -> rule5) triple1) -> rule7)) -> rule8))] Erin is red.[(((triple5) -> rule8))] Erin is young.[(((triple3) -> rule5))] Fiona is green.[(((triple6) -> rule6))] Harry is green.[(((triple7) -> rule6) OR ((triple8 triple7) -> rule4))] Harry is smart.[(((triple10 triple7) -> rule7) OR ((triple9 triple7) -> rule1) OR ((((((triple7) -> rule6)) -> rule5) triple7) -> rule7) OR ((((((triple8 triple7) -> rule4)) -> rule5) triple7) -> rule7))] @2: Bob is nice.[(((((triple1) -> rule6) ((triple2) -> rule8)) -> rule3) OR ((((triple1) -> rule6) ((((((((triple1) -> rule6)) -> rule5) triple1) -> rule7)) -> rule8)) -> rule3))] Bob is young.[(((((triple1) -> rule6)) -> rule5))] Fiona is young.[(((((triple6) -> rule6)) -> rule5))] Harry is red.[(((((triple10 triple7) -> rule7)) -> rule8) OR ((((triple9 triple7) -> rule1)) -> rule8) OR ((((((((triple7) -> rule6)) -> rule5) triple7) -> rule7)) -> rule8) OR ((((((((triple8 triple7) -> rule4)) -> rule5) triple7) -> rule7)) -> rule8))] @3: Fiona is smart.[(((((((triple6) -> rule6)) -> rule5) triple6) -> rule7))] @4: Fiona is red.[(((((((((triple6) -> rule6)) -> rule5) triple6) -> rule7)) -> rule8))] @5: Fiona is nice.[(((((triple6) -> rule6) ((((((((triple6) -> rule6)) -> rule5) triple6) -> rule7)) -> rule8)) -> rule3))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is smart.
("Bob" "is" "smart" "+")
triple2
((((((triple1) -> (rule6 % int3))) -> (rule5 % int2)) triple1) -> (rule7 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Erin is green.
("Erin" "is" "green" "+")
triple3
Erin is nice.
("Erin" "is" "nice" "+")
triple4
((triple3 ((triple5) -> (rule8 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
triple5
Fiona is blue.
("Fiona" "is" "blue" "+")
triple6
Harry is blue.
("Harry" "is" "blue" "+")
triple7
Harry is nice.
("Harry" "is" "nice" "+")
triple8
((((triple7) -> (rule6 % int4)) ((((triple10 triple7) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
((((triple7) -> (rule6 % int4)) ((((triple9 triple7) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
((((triple7) -> (rule6 % int5)) ((((((((triple7) -> (rule6 % int5))) -> (rule5 % int4)) triple7) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
int5
Harry is rough.
("Harry" "is" "rough" "+")
triple9
Harry is young.
("Harry" "is" "young" "+")
triple10
((((triple7) -> (rule6 % int2))) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
((((triple8 triple7) -> (rule4 % int2))) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
((triple1) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
((triple2) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((((((triple1) -> (rule6 % int4))) -> (rule5 % int3)) triple1) -> (rule7 % int2))) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Erin is red.
("Erin" "is" "red" "+")
((triple5) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
((triple3) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple6) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
((triple7) -> (rule6 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
((triple8 triple7) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
((triple10 triple7) -> (rule7 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((triple9 triple7) -> (rule1 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((((((triple7) -> (rule6 % int3))) -> (rule5 % int2)) triple7) -> (rule7 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
((((((triple8 triple7) -> (rule4 % int3))) -> (rule5 % int2)) triple7) -> (rule7 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
((((triple1) -> (rule6 % int3)) ((triple2) -> (rule8 % int2))) -> (rule3 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((triple1) -> (rule6 % int5)) ((((((((triple1) -> (rule6 % int5))) -> (rule5 % int4)) triple1) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
int5
Bob is young.
("Bob" "is" "young" "+")
((((triple1) -> (rule6 % int2))) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
((((triple6) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
((((triple10 triple7) -> (rule7 % int2))) -> (rule8 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((triple9 triple7) -> (rule1 % int2))) -> (rule8 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((((((triple7) -> (rule6 % int4))) -> (rule5 % int3)) triple7) -> (rule7 % int2))) -> (rule8 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
((((((((triple8 triple7) -> (rule4 % int4))) -> (rule5 % int3)) triple7) -> (rule7 % int2))) -> (rule8 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Fiona is smart.
("Fiona" "is" "smart" "+")
((((((triple6) -> (rule6 % int3))) -> (rule5 % int2)) triple6) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
((((((((triple6) -> (rule6 % int4))) -> (rule5 % int3)) triple6) -> (rule7 % int2))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
int4
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple6) -> (rule6 % int5)) ((((((((triple6) -> (rule6 % int5))) -> (rule5 % int4)) triple6) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
int5