Bob is big. Bob is red. Bob is rough. Dave is blue. Dave is nice. Erin is rough. Fiona is young. If someone is big then they are red. If someone is blue and young then they are nice. Rough people are big. Nice people are young. All green people are young. Red people are blue. Green people are rough. Blue people are nice.
Bob is big.
("Bob" "is" "big" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If someone is big then they are red.
((("someone" "is" "big" "+")) -> ("someone" "is" "red" "+"))
If someone is blue and young then they are nice.
((("someone" "is" "blue" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "nice" "+"))
Rough people are big.
((("someone" "is" "rough" "+")) -> ("someone" "is" "big" "+"))
Nice people are young.
((("someone" "is" "nice" "+")) -> ("someone" "is" "young" "+"))
All green people are young.
((("someone" "is" "green" "+")) -> ("someone" "is" "young" "+"))
Red people are blue.
((("someone" "is" "red" "+")) -> ("someone" "is" "blue" "+"))
Green people are rough.
((("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
Blue people are nice.
((("someone" "is" "blue" "+")) -> ("someone" "is" "nice" "+"))
Bob is rough.
True
1
proof
[(triple3)]
("Bob" "is" "rough" "+")
triple3
Bob is not big.
False
1
inv-proof
[(triple1 OR ((triple3) -> rule3))]
("Bob" "is" "big" "-")
triple1
((triple3) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
True
2
proof
[(((triple2) -> rule6) OR ((((triple1) -> rule1)) -> rule6) OR ((((((triple3) -> rule3)) -> rule1)) -> rule6))]
("Bob" "is" "blue" "+")
((triple2) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((((triple3) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Dave is not young.
False
2
inv-proof
[(((triple5) -> rule4) OR ((((triple4) -> rule8)) -> rule4))]
("Dave" "is" "young" "-")
((triple5) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((triple4) -> (rule8 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Erin is red.
True
3
proof
[(((((triple6) -> rule3)) -> rule1))]
("Erin" "is" "red" "+")
((((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is not red.
False
3
inv-proof
[(((((triple6) -> rule3)) -> rule1))]
("Erin" "is" "red" "-")
((((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is blue.
True
4
proof
[(((((((triple6) -> rule3)) -> rule1)) -> rule6))]
("Erin" "is" "blue" "+")
((((((triple6) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Bob is not young.
False
4
inv-proof
[(((((((triple2) -> rule6)) -> rule8)) -> rule4) OR ((((((((triple1) -> rule1)) -> rule6)) -> rule8)) -> rule4) OR ((((((((((triple3) -> rule3)) -> rule1)) -> rule6)) -> rule8)) -> rule4))]
("Bob" "is" "young" "-")
((((((triple2) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((((((((triple1) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
((((((((((triple3) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
Bob is big.
("Bob" "is" "big" "+")
int5
Erin is nice.
True
5
proof
[(((((((((triple6) -> rule3)) -> rule1)) -> rule6)) -> rule8))]
("Erin" "is" "nice" "+")
((((((((triple6) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is not nice.
False
5
inv-proof
[(((((((((triple6) -> rule3)) -> rule1)) -> rule6)) -> rule8))]
("Erin" "is" "nice" "-")
((((((((triple6) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is young.
True
6
proof
[(((((((((((triple6) -> rule3)) -> rule1)) -> rule6)) -> rule8)) -> rule4))]
("Erin" "is" "young" "+")
((((((((((triple6) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5
Erin is not young.
False
6
inv-proof
[(((((((((((triple6) -> rule3)) -> rule1)) -> rule6)) -> rule8)) -> rule4))]
("Erin" "is" "young" "-")
((((((((((triple6) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5
Fiona is not rough.
Unknown
inv-rconc
[@1: Fiona is rough.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Fiona" "is" "rough" "-")
Dave is red.
Unknown
rconc
[@3: Dave is red.[CWA. Example of deepest failure = (rule1 <- rule3 <- rule7 <- FAIL)]]
("Dave" "is" "red" "+")
Dave is not big.
Unknown
inv-rconc
[@2: Dave is big.[CWA. Example of deepest failure = (rule3 <- rule7 <- FAIL)]]
("Dave" "is" "big" "-")
Fiona is nice.
Unknown
rconc
[@5: Fiona is nice.[CWA. Example of deepest failure = (rule2 <- rule6 <- rule1 <- rule3 <- rule7 <- FAIL)]]
("Fiona" "is" "nice" "+")
Fiona is not big.
Unknown
inv-rconc
[@2: Fiona is big.[CWA. Example of deepest failure = (rule3 <- rule7 <- FAIL)]]
("Fiona" "is" "big" "-")
Fiona is red.
Unknown
rconc
[@3: Fiona is red.[CWA. Example of deepest failure = (rule1 <- rule3 <- rule7 <- FAIL)]]
("Fiona" "is" "red" "+")
Dave is not green.
Unknown
inv-random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "-")
Fiona is green.
Unknown
random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "+")
Bob is not green.
Unknown
inv-random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "-")
Erin is green.
Unknown
random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "+")
@0: Bob is big.[(triple1 OR ((triple3) -> rule3))] Bob is red.[(triple2 OR ((triple1) -> rule1) OR ((((triple3) -> rule3)) -> rule1))] Bob is rough.[(triple3)] Dave is blue.[(triple4)] Dave is nice.[(triple5 OR ((triple4) -> rule8))] Erin is rough.[(triple6)] Fiona is young.[(triple7)] @1: Bob is blue.[(((triple2) -> rule6) OR ((((triple1) -> rule1)) -> rule6) OR ((((((triple3) -> rule3)) -> rule1)) -> rule6))] Dave is young.[(((triple5) -> rule4) OR ((((triple4) -> rule8)) -> rule4))] Erin is big.[(((triple6) -> rule3))] @2: Bob is nice.[(((((triple2) -> rule6)) -> rule8) OR ((((((triple1) -> rule1)) -> rule6)) -> rule8) OR ((((((((triple3) -> rule3)) -> rule1)) -> rule6)) -> rule8))] Erin is red.[(((((triple6) -> rule3)) -> rule1))] @3: Bob is young.[(((((((triple2) -> rule6)) -> rule8)) -> rule4) OR ((((((((triple1) -> rule1)) -> rule6)) -> rule8)) -> rule4) OR ((((((((((triple3) -> rule3)) -> rule1)) -> rule6)) -> rule8)) -> rule4))] Erin is blue.[(((((((triple6) -> rule3)) -> rule1)) -> rule6))] @4: Erin is nice.[(((((((((triple6) -> rule3)) -> rule1)) -> rule6)) -> rule8))] @5: Erin is young.[(((((((((((triple6) -> rule3)) -> rule1)) -> rule6)) -> rule8)) -> rule4))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple3) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
triple2
((triple1) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((triple3) -> (rule3 % int2))) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
triple3
Dave is blue.
("Dave" "is" "blue" "+")
triple4
Dave is nice.
("Dave" "is" "nice" "+")
triple5
((triple4) -> (rule8 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
triple6
Fiona is young.
("Fiona" "is" "young" "+")
triple7
Bob is blue.
("Bob" "is" "blue" "+")
((triple2) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((((triple3) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
((triple5) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((triple4) -> (rule8 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
((triple6) -> (rule3 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
((((triple2) -> (rule6 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((((triple1) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
((((((((triple3) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Erin is red.
("Erin" "is" "red" "+")
((((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
((((((triple2) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((((((((triple1) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
((((((((((triple3) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
Bob is big.
("Bob" "is" "big" "+")
int5
Erin is blue.
("Erin" "is" "blue" "+")
((((((triple6) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
((((((((triple6) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is young.
("Erin" "is" "young" "+")
((((((((((triple6) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
int5