Charlie is red. Charlie is young. Erin is furry. Fiona is not nice. Fiona is red. Fiona is round. Harry is big. All furry people are nice. If someone is furry then they are not kind. Nice, big people are red. If someone is red and round then they are young. If Harry is big and Harry is nice then Harry is not round. If someone is furry and not kind then they are big. If Fiona is big and Fiona is furry then Fiona is nice. Red, nice people are round.
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Fiona is not nice.
("Fiona" "is" "nice" "-")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Harry is big.
("Harry" "is" "big" "+")
All furry people are nice.
((("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
If someone is furry then they are not kind.
((("someone" "is" "furry" "+")) -> ("someone" "is" "kind" "-"))
Nice, big people are red.
((("someone" "is" "nice" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "red" "+"))
If someone is red and round then they are young.
((("someone" "is" "red" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "young" "+"))
If Harry is big and Harry is nice then Harry is not round.
((("Harry" "is" "big" "+") ("Harry" "is" "nice" "+")) -> ("Harry" "is" "round" "-"))
If someone is furry and not kind then they are big.
((("someone" "is" "furry" "+") ("someone" "is" "kind" "~")) -> ("someone" "is" "big" "+"))
If Fiona is big and Fiona is furry then Fiona is nice.
((("Fiona" "is" "big" "+") ("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "nice" "+"))
Red, nice people are round.
((("someone" "is" "red" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "round" "+"))
Harry is big.
True
1
proof
[(triple7)]
("Harry" "is" "big" "+")
triple7
Fiona is not red.
False
1
inv-proof
[(triple5)]
("Fiona" "is" "red" "-")
triple5
Erin is not kind.
True
2
proof
[(((triple3) -> rule2))]
("Erin" "is" "kind" "-")
((triple3) -> (rule2 % int1))
Erin is not kind.
("Erin" "is" "kind" "-")
int1
Erin is kind.
False
2
inv-proof
[(((triple3) -> rule2))]
("Erin" "is" "kind" "+")
((triple3) -> (rule2 % int1))
Erin is not kind.
("Erin" "is" "kind" "-")
int1
Erin is big.
True
4
proof
[(((triple3 ((triple3) -> rule2)) -> rule6))]
("Erin" "is" "big" "+")
((triple3 ((triple3) -> (rule2 % int2))) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is not kind.
("Erin" "is" "kind" "-")
int2
Erin is not big.
False
4
inv-proof
[(((triple3 ((triple3) -> rule2)) -> rule6))]
("Erin" "is" "big" "-")
((triple3 ((triple3) -> (rule2 % int2))) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is not kind.
("Erin" "is" "kind" "-")
int2
Erin is red.
True
7
proof
[(((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3))]
("Erin" "is" "red" "+")
((((triple3) -> (rule1 % int4)) ((triple3 ((triple3) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is not kind.
("Erin" "is" "kind" "-")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Erin is not red.
False
7
inv-proof
[(((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3))]
("Erin" "is" "red" "-")
((((triple3) -> (rule1 % int4)) ((triple3 ((triple3) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is not kind.
("Erin" "is" "kind" "-")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Erin is round.
True
10
proof
[(((((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3) ((triple3) -> rule1)) -> rule8))]
("Erin" "is" "round" "+")
((((((triple3) -> (rule1 % int5)) ((triple3 ((triple3) -> (rule2 % int4))) -> (rule6 % int3))) -> (rule3 % int2)) ((triple3) -> (rule1 % int5))) -> (rule8 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is not kind.
("Erin" "is" "kind" "-")
int4
Erin is nice.
("Erin" "is" "nice" "+")
int5
Erin is not round.
False
10
inv-proof
[(((((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3) ((triple3) -> rule1)) -> rule8))]
("Erin" "is" "round" "-")
((((((triple3) -> (rule1 % int5)) ((triple3 ((triple3) -> (rule2 % int4))) -> (rule6 % int3))) -> (rule3 % int2)) ((triple3) -> (rule1 % int5))) -> (rule8 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is not kind.
("Erin" "is" "kind" "-")
int4
Erin is nice.
("Erin" "is" "nice" "+")
int5
Erin is young.
True
18
proof
[(((((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3) ((((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3) ((triple3) -> rule1)) -> rule8)) -> rule4))]
("Erin" "is" "young" "+")
((((((triple3) -> (rule1 % int6)) ((triple3 ((triple3) -> (rule2 % int5))) -> (rule6 % int4))) -> (rule3 % int3)) ((((((triple3) -> (rule1 % int6)) ((triple3 ((triple3) -> (rule2 % int5))) -> (rule6 % int4))) -> (rule3 % int3)) ((triple3) -> (rule1 % int6))) -> (rule8 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is not kind.
("Erin" "is" "kind" "-")
int5
Erin is nice.
("Erin" "is" "nice" "+")
int6
Erin is not young.
False
18
inv-proof
[(((((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3) ((((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3) ((triple3) -> rule1)) -> rule8)) -> rule4))]
("Erin" "is" "young" "-")
((((((triple3) -> (rule1 % int6)) ((triple3 ((triple3) -> (rule2 % int5))) -> (rule6 % int4))) -> (rule3 % int3)) ((((((triple3) -> (rule1 % int6)) ((triple3 ((triple3) -> (rule2 % int5))) -> (rule6 % int4))) -> (rule3 % int3)) ((triple3) -> (rule1 % int6))) -> (rule8 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is not kind.
("Erin" "is" "kind" "-")
int5
Erin is nice.
("Erin" "is" "nice" "+")
int6
Harry is not round.
Unknown
inv-rconc
[@2: Harry is round.[CWA. Example of deepest failure = (rule8 <- rule1 <- FAIL)]]
("Harry" "is" "round" "-")
Charlie is round.
Unknown
rconc
[@2: Charlie is round.[CWA. Example of deepest failure = (rule8 <- rule1 <- FAIL)]]
("Charlie" "is" "round" "+")
Charlie is not nice.
Unknown
inv-rconc
[@1: Charlie is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "nice" "-")
Fiona is big.
Unknown
rconc
[@1: Fiona is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "big" "+")
Harry is not nice.
Unknown
inv-rconc
[@1: Harry is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "nice" "-")
Harry is young.
Unknown
rconc
[@3: Harry is young.[CWA. Example of deepest failure = (rule4 <- rule3 <- rule1 <- FAIL)]]
("Harry" "is" "young" "+")
Charlie is not kind.
Unknown
inv-random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "-")
Fiona is kind.
Unknown
random
[@0: Fiona is kind.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "kind" "+")
Harry is not furry.
Unknown
inv-random
[@0: Harry is furry.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "furry" "-")
Fiona is furry.
Unknown
random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "+")
Charlie is not furry.
Unknown
inv-random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "-")
Harry is kind.
Unknown
random
[@0: Harry is kind.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "kind" "+")
@0: Charlie is red.[(triple1)] Charlie is young.[(triple2)] Erin is furry.[(triple3)] Fiona is not nice.[(triple4)] Fiona is red.[(triple5)] Fiona is round.[(triple6)] Harry is big.[(triple7)] @1: Erin is nice.[(((triple3) -> rule1))] Erin is not kind.[(((triple3) -> rule2))] Fiona is young.[(((triple5 triple6) -> rule4))] @2: Erin is big.[(((triple3 ((triple3) -> rule2)) -> rule6))] @3: Erin is red.[(((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3))] @4: Erin is round.[(((((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3) ((triple3) -> rule1)) -> rule8))] @5: Erin is young.[(((((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3) ((((((triple3) -> rule1) ((triple3 ((triple3) -> rule2)) -> rule6)) -> rule3) ((triple3) -> rule1)) -> rule8)) -> rule4))]
Charlie is red.
("Charlie" "is" "red" "+")
triple1
Charlie is young.
("Charlie" "is" "young" "+")
triple2
Erin is furry.
("Erin" "is" "furry" "+")
triple3
Fiona is not nice.
("Fiona" "is" "nice" "-")
triple4
Fiona is red.
("Fiona" "is" "red" "+")
triple5
Fiona is round.
("Fiona" "is" "round" "+")
triple6
Harry is big.
("Harry" "is" "big" "+")
triple7
Erin is nice.
("Erin" "is" "nice" "+")
((triple3) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is not kind.
("Erin" "is" "kind" "-")
((triple3) -> (rule2 % int1))
Erin is not kind.
("Erin" "is" "kind" "-")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple5 triple6) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
((triple3 ((triple3) -> (rule2 % int2))) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is not kind.
("Erin" "is" "kind" "-")
int2
Erin is red.
("Erin" "is" "red" "+")
((((triple3) -> (rule1 % int4)) ((triple3 ((triple3) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is not kind.
("Erin" "is" "kind" "-")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Erin is round.
("Erin" "is" "round" "+")
((((((triple3) -> (rule1 % int5)) ((triple3 ((triple3) -> (rule2 % int4))) -> (rule6 % int3))) -> (rule3 % int2)) ((triple3) -> (rule1 % int5))) -> (rule8 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is not kind.
("Erin" "is" "kind" "-")
int4
Erin is nice.
("Erin" "is" "nice" "+")
int5
Erin is young.
("Erin" "is" "young" "+")
((((((triple3) -> (rule1 % int6)) ((triple3 ((triple3) -> (rule2 % int5))) -> (rule6 % int4))) -> (rule3 % int3)) ((((((triple3) -> (rule1 % int6)) ((triple3 ((triple3) -> (rule2 % int5))) -> (rule6 % int4))) -> (rule3 % int3)) ((triple3) -> (rule1 % int6))) -> (rule8 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is not kind.
("Erin" "is" "kind" "-")
int5
Erin is nice.
("Erin" "is" "nice" "+")
int6