Bob is big. Bob is green. Bob is red. Erin is big. Erin is green. Erin is nice. Erin is quiet. Erin is red. Erin is smart. Fiona is big. Fiona is nice. Fiona is red. Fiona is rough. Gary is quiet. All rough people are quiet. If someone is quiet then they are big. If Gary is nice then Gary is green. If someone is rough and nice then they are big. All red people are nice. If someone is smart and nice then they are red. Green people are rough. If someone is big then they are red. Green people are red.
Bob is big.
("Bob" "is" "big" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is red.
("Bob" "is" "red" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
All rough people are quiet.
((("someone" "is" "rough" "+")) -> ("someone" "is" "quiet" "+"))
If someone is quiet then they are big.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "big" "+"))
If Gary is nice then Gary is green.
((("Gary" "is" "nice" "+")) -> ("Gary" "is" "green" "+"))
If someone is rough and nice then they are big.
((("someone" "is" "rough" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "big" "+"))
All red people are nice.
((("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
If someone is smart and nice then they are red.
((("someone" "is" "smart" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "red" "+"))
Green people are rough.
((("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
If someone is big then they are red.
((("someone" "is" "big" "+")) -> ("someone" "is" "red" "+"))
Green people are red.
((("someone" "is" "green" "+")) -> ("someone" "is" "red" "+"))
Bob is green.
True
1
proof
[(triple2)]
("Bob" "is" "green" "+")
triple2
Bob is not red.
False
1
inv-proof
[(triple3 OR ((triple1) -> rule8) OR ((triple2) -> rule9) OR ((((((((triple2) -> rule7)) -> rule1)) -> rule2)) -> rule8))]
("Bob" "is" "red" "-")
triple3
((triple1) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple2) -> (rule9 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((((((triple2) -> (rule7 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Gary is big.
True
2
proof
[(((triple14) -> rule2))]
("Gary" "is" "big" "+")
((triple14) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Fiona is not quiet.
False
2
inv-proof
[(((triple13) -> rule1))]
("Fiona" "is" "quiet" "-")
((triple13) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Bob is quiet.
True
3
proof
[(((((triple2) -> rule7)) -> rule1))]
("Bob" "is" "quiet" "+")
((((triple2) -> (rule7 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is not quiet.
False
3
inv-proof
[(((((triple2) -> rule7)) -> rule1))]
("Bob" "is" "quiet" "-")
((((triple2) -> (rule7 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Gary is nice.
True
4
proof
[(((((((triple14) -> rule2)) -> rule8)) -> rule5))]
("Gary" "is" "nice" "+")
((((((triple14) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is not nice.
False
4
inv-proof
[(((((((triple14) -> rule2)) -> rule8)) -> rule5))]
("Gary" "is" "nice" "-")
((((((triple14) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is green.
True
5
proof
[(((((((((triple14) -> rule2)) -> rule8)) -> rule5)) -> rule3))]
("Gary" "is" "green" "+")
((((((((triple14) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is not green.
False
5
inv-proof
[(((((((((triple14) -> rule2)) -> rule8)) -> rule5)) -> rule3))]
("Gary" "is" "green" "-")
((((((((triple14) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is rough.
True
6
proof
[(((((((((((triple14) -> rule2)) -> rule8)) -> rule5)) -> rule3)) -> rule7))]
("Gary" "is" "rough" "+")
((((((((((triple14) -> (rule2 % int5))) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
int5
Gary is not rough.
False
6
inv-proof
[(((((((((((triple14) -> rule2)) -> rule8)) -> rule5)) -> rule3)) -> rule7))]
("Gary" "is" "rough" "-")
((((((((((triple14) -> (rule2 % int5))) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
int5
Fiona is not smart.
Unknown
inv-random
[@0: Fiona is smart.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "smart" "-")
Fiona is green.
Unknown
random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "+")
Bob is not smart.
Unknown
inv-random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "-")
Gary is smart.
Unknown
random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "+")
@0: Bob is big.[(triple1 OR ((((triple2) -> rule7) ((triple3) -> rule5)) -> rule4) OR ((((((triple2) -> rule7)) -> rule1)) -> rule2) OR ((((triple2) -> rule7) ((((triple2) -> rule9)) -> rule5)) -> rule4))] Bob is green.[(triple2)] Bob is red.[(triple3 OR ((triple1) -> rule8) OR ((triple2) -> rule9) OR ((((((((triple2) -> rule7)) -> rule1)) -> rule2)) -> rule8))] Erin is big.[(triple4 OR ((triple7) -> rule2) OR ((((triple5) -> rule7) triple6) -> rule4) OR ((((triple5) -> rule7) ((triple8) -> rule5)) -> rule4) OR ((((((triple5) -> rule7)) -> rule1)) -> rule2) OR ((((triple5) -> rule7) ((((triple5) -> rule9)) -> rule5)) -> rule4))] Erin is green.[(triple5)] Erin is nice.[(triple6 OR ((triple8) -> rule5) OR ((((triple4) -> rule8)) -> rule5) OR ((((triple5) -> rule9)) -> rule5) OR ((((((triple7) -> rule2)) -> rule8)) -> rule5) OR ((((((((((triple5) -> rule7)) -> rule1)) -> rule2)) -> rule8)) -> rule5))] Erin is quiet.[(triple7 OR ((((triple5) -> rule7)) -> rule1))] Erin is red.[(triple8 OR ((triple4) -> rule8) OR ((triple5) -> rule9) OR ((triple9 triple6) -> rule6) OR ((((triple7) -> rule2)) -> rule8) OR ((((((triple5) -> rule7) triple6) -> rule4)) -> rule8) OR ((((((((triple5) -> rule7)) -> rule1)) -> rule2)) -> rule8))] Erin is smart.[(triple9)] Fiona is big.[(triple10 OR ((triple13 triple11) -> rule4) OR ((((triple13) -> rule1)) -> rule2) OR ((triple13 ((triple12) -> rule5)) -> rule4))] Fiona is nice.[(triple11 OR ((triple12) -> rule5) OR ((((triple10) -> rule8)) -> rule5) OR ((((((((triple13) -> rule1)) -> rule2)) -> rule8)) -> rule5))] Fiona is red.[(triple12 OR ((triple10) -> rule8) OR ((((triple13 triple11) -> rule4)) -> rule8) OR ((((((triple13) -> rule1)) -> rule2)) -> rule8))] Fiona is rough.[(triple13)] Gary is quiet.[(triple14)] @1: Bob is nice.[(((triple3) -> rule5) OR ((((triple1) -> rule8)) -> rule5) OR ((((triple2) -> rule9)) -> rule5) OR ((((((((((triple2) -> rule7)) -> rule1)) -> rule2)) -> rule8)) -> rule5))] Bob is rough.[(((triple2) -> rule7))] Erin is rough.[(((triple5) -> rule7))] Fiona is quiet.[(((triple13) -> rule1))] Gary is big.[(((triple14) -> rule2))] @2: Bob is quiet.[(((((triple2) -> rule7)) -> rule1))] Gary is red.[(((((triple14) -> rule2)) -> rule8))] @3: Gary is nice.[(((((((triple14) -> rule2)) -> rule8)) -> rule5))] @4: Gary is green.[(((((((((triple14) -> rule2)) -> rule8)) -> rule5)) -> rule3))] @5: Gary is rough.[(((((((((((triple14) -> rule2)) -> rule8)) -> rule5)) -> rule3)) -> rule7))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((((triple2) -> (rule7 % int3)) ((triple3) -> (rule5 % int2))) -> (rule4 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
((((((triple2) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
((((triple2) -> (rule7 % int4)) ((((triple2) -> (rule9 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
triple2
Bob is red.
("Bob" "is" "red" "+")
triple3
((triple1) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple2) -> (rule9 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((((((triple2) -> (rule7 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
triple4
((triple7) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((((triple5) -> (rule7 % int2)) triple6) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
((((triple5) -> (rule7 % int3)) ((triple8) -> (rule5 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
((((((triple5) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
((((triple5) -> (rule7 % int4)) ((((triple5) -> (rule9 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
int4
Erin is green.
("Erin" "is" "green" "+")
triple5
Erin is nice.
("Erin" "is" "nice" "+")
triple6
((triple8) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple4) -> (rule8 % int2))) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((((triple5) -> (rule9 % int2))) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((((((triple7) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
((((((((((triple5) -> (rule7 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
int4
Erin is rough.
("Erin" "is" "rough" "+")
int5
Erin is quiet.
("Erin" "is" "quiet" "+")
triple7
((((triple5) -> (rule7 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
triple8
((triple4) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple5) -> (rule9 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple9 triple6) -> (rule6 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((((triple7) -> (rule2 % int2))) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((((((triple5) -> (rule7 % int3)) triple6) -> (rule4 % int2))) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
((((((((triple5) -> (rule7 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
int4
Erin is smart.
("Erin" "is" "smart" "+")
triple9
Fiona is big.
("Fiona" "is" "big" "+")
triple10
((triple13 triple11) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((triple13) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((triple13 ((triple12) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple11
((triple12) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple10) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((((((((triple13) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
triple12
((triple10) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((triple13 triple11) -> (rule4 % int2))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((((triple13) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
triple13
Gary is quiet.
("Gary" "is" "quiet" "+")
triple14
Bob is nice.
("Bob" "is" "nice" "+")
((triple3) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((((triple1) -> (rule8 % int2))) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((triple2) -> (rule9 % int2))) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((((((((triple2) -> (rule7 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is rough.
("Bob" "is" "rough" "+")
int5
Bob is rough.
("Bob" "is" "rough" "+")
((triple2) -> (rule7 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
((triple5) -> (rule7 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple13) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple14) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
((((triple2) -> (rule7 % int2))) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((((triple14) -> (rule2 % int2))) -> (rule8 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((((((triple14) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
((((((((triple14) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
((((((((((triple14) -> (rule2 % int5))) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
int5