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